JavaScript | Método Reflect.getOwnPropertyDescriptor()

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

Referencia: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/getOwnPropertyDescriptor
 

Publicación traducida automáticamente

Artículo escrito por SHUBHAMSINGH10 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *