Join MDN and developers like you at Mozilla's View Source conference, 12-14 September in Berlin, Germany. Learn more at https://viewsourceconf.org

Object.getOwnPropertyDescriptor()

Este articulo necesita una revisión editorial. Cómo puedes ayudar.

Esta traducción está incompleta. Por favor, ayuda a traducir este artículo del inglés.

El método Object.getOwnPropertyDescriptor() regresa como descripción de propiedad para una propiedad propia (eso es, una presente directamente en el objeto, no presente por la fuerza a través de la cadena de prototipo del objeto) de un objeto dado.

Síntaxis

Object.getOwnPropertyDescriptor(obj, prop)

Parametros

obj
El objeto en el que se busca la propiedad.
prop
El nombre de la propiedad del cuál se obtendrá la descripción.

Valor de retorno

Un descriptor de propiedad de una propiedad dada si existe en el objeto,  undefined en cualquier otro caso.

Descripción

Éste método permite la examinación precisa de la descripción de una propiedad. Una propiedad en JavaScript consiste de el nombre de una cadena de valor y un descriptor de propiedad. Información más detallada acerca de los tipos de descripciones y sus atributos puede ser encontrada en Object.defineProperty().

Una descripción de propiedad es un registro con alguno de los siguientes atributos:

value
El valor asociado con la propiedad (descriptores de datos unicamente).
writable
true si y solo si el valor asociado con la propiedad puede ser cambiada (descriptores de datos unicamente).
get
Una función que sirve como método de acceso para la propiedad, o undefined si no hay método de acceso (métodos de acceso de descripciones unicamente).
set
Una función que sirve como método de establecimiento para la propieda, o undefined si no hay método de establecimiento (métodos de establecimiento de descripciones unicamente).
configurable
true si y solo si el tipo de ésta descripción de propiedad puede ser cambiada y si la propiedad puede ser eliminada del objeto correspondiente.
enumerable
true si y solo si ésta propiedad aparece durante la enumeración de las propiedades del objeto correspondiente.

Ejemplos

var o, d;

o = { get foo() { return 17; } };
d = Object.getOwnPropertyDescriptor(o, 'foo');
// d is { configurable: true, enumerable: true, get: /* la función de acceso */, set: undefined }

o = { bar: 42 };
d = Object.getOwnPropertyDescriptor(o, 'bar');
// d is { configurable: true, enumerable: true, value: 42, writable: true }

o = {};
Object.defineProperty(o, 'baz', { value: 8675309, writable: false, enumerable: false });
d = Object.getOwnPropertyDescriptor(o, 'baz');
// d es { value: 8675309, writable: false, enumerable: false, configurable: false }

Nates

En ES5, si el primer argumento que se le pasa a éste método no es un objeto (primitivo), entonces causará un TypeError. EIn ES6, un no-objeto pasado como primer argumento será convertido (coerción) a un objeto en primera instancia.

Object.getOwnPropertyDescriptor("foo", 0);
// TypeError: "foo" is not an object  // Código ES5

Object.getOwnPropertyDescriptor("foo", 0);
// {configurable:false, enumerable:true, value:"f", writable:false}  // Código ES6

Especificaciones

Especificación Estado Comentario
ECMAScript 5.1 (ECMA-262)
The definition of 'Object.getOwnPropertyDescriptor' in that specification.
Standard Definición inicial. Implementado en JavaScript 1.8.5.
ECMAScript 2015 (6th Edition, ECMA-262)
The definition of 'Object.getOwnPropertyDescriptor' in that specification.
Standard  

Compatibilidad con navegadores

Caracteristica Chrome Firefox (Gecko) Internet Explorer Opera Safari
Soporte básico 5 4.0 (2) 8 12 5
Caracteristica Android Chrome for Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Soporte básico ? ? ? ? ? ?

Ver también

Etiquetas y colaboradores del documento

 Colaboradores en esta página: UlisesGascon, mishelashala
 Última actualización por: UlisesGascon,