El método Reflect.getOwnPropertyDescriptor() en Javascript se usa para obtener el descriptor de un objeto. Es lo mismo que el método Object.getOwnPropertyDescriptor, pero los destinos que no son objetos se manejan de manera diferente.
Sintaxis:
Reflect.getOwnPropertyDescriptor(obj, Key)
Parámetros: Este método acepta dos parámetros como se mencionó anteriormente y se describe a continuación:
- Obj: este parámetro contiene el objeto de destino y busca la propiedad.
- Clave: este parámetro se utiliza para obtener un descriptor de propiedad propio para el nombre de la propiedad.
Valor devuelto: este método devuelve el objeto descriptor de propiedad y devuelve undefined si el objeto de destino no existe.
Excepciones: un TypeError es una excepción dada como resultado, cuando el objetivo no es un objeto.
Los siguientes ejemplos ilustran el método Reflect.getOwnPropertyDescriptor() en JavaScript:
Ejemplo 1:
javascript
<script> let object = { property1: "geeks" }; console.log(Reflect.getOwnPropertyDescriptor( object, 'property1').value); console.log(Reflect.getOwnPropertyDescriptor( object, 'property2')); console.log(Reflect.getOwnPropertyDescriptor( object, 'property1').writable); let object1 = { property2: "Javascript" }; const object3 = { property3: 232 }; console.log(Reflect.getOwnPropertyDescriptor( object1, 'property2').value); console.log(Reflect.getOwnPropertyDescriptor( object1, 'property3')); console.log(Reflect.getOwnPropertyDescriptor( object1, 'property2').writable); console.log(Reflect.getOwnPropertyDescriptor (object3, "null" ) === undefined ); </script>
Producción:
"geeks" undefined true "Javascript" undefined true true
Ejemplo 2:
javascript
<script> const object1 = { property1: "NULL" }; console.log(Reflect.getOwnPropertyDescriptor( object1, 'property2')); console.log(Reflect.getOwnPropertyDescriptor( object1, 'property1').writable); console.log(Reflect.getOwnPropertyDescriptor( object1, 'property1')); console.log(Reflect.getOwnPropertyDescriptor( {val: 'hello'}, 'val')); console.log(Reflect.getOwnPropertyDescriptor( {val1: 'hello'}, 'y')); console.log(Reflect.getOwnPropertyDescriptor( [], 'length')); </script>
Salida: ]
undefined true [object Object] { configurable: true, enumerable: true, value: "NULL", writable: true } [object Object] { configurable: true, enumerable: true, value: "hello", writable: true } undefined [object Object] { configurable: false, enumerable: false, value: 0, writable: true }
Ejemplo 3: llamando al no objeto y ocurrió un error.
javascript
<script> console.log(Reflect.getOwnPropertyDescriptor('foo', 0)); </script>
Producción:
Error: Reflect.getOwnPropertyDescriptor called on non-object
Navegadores compatibles: los navegadores compatibles con el método JavaScript Reflect.getOwnPropertyDescriptor() se enumeran a continuación:
- Google Chrome 49 y superior
- Borde 12 y superior
- Firefox 42 y superior
- Ópera 36 y superior
- Safari 10 y superior
Publicación traducida automáticamente
Artículo escrito por SHUBHAMSINGH10 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA