JavaScript | Método Reflect.defineProperty()

El método Reflect.defineProperty() en JavaScript se usa para permitir la adición o modificación precisa de una propiedad en un objeto. Este método devuelve un valor booleano que indica si la propiedad se definió correctamente.
Sintaxis: 
 

Reflect.defineProperty(target, propertyKey, attributes) 

Parámetro: Este método acepta tres parámetros como se mencionó anteriormente y se describe a continuación: 
 

  • target: este parámetro define la propiedad y el objeto de destino.
  • propertyKey: este parámetro es el nombre de la propiedad que se va a definir o modificar.
  • Atributos: este parámetro son los atributos de la propiedad que se está definiendo o modificando.

Valor devuelto: este método devuelve un valor booleano que indica si la propiedad se definió correctamente.
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.defineProperty() en JavaScript:
Ejemplo 1: 
 

javascript

const object1 = {};
 
if (Reflect.defineProperty(object1, 'geeks1', {value: 42})) {
  console.log('geeks1 assigned');
   
} else {
  console.log('problem created by  geeks1');
}
 
console.log(object1.geeks1);
  
const object2 = {};
const object3 = {};
(Reflect.defineProperty(object2, 'geeks2', {value: 97})) 
if (Reflect.defineProperty(object3, 'geeks3', {value: 23})) { 
  console.log('geeks3 assigned'); 
} else { 
  console.log('problem created by geeks3'); 
} 
console.log(object3.geeks3); 
console.log(object2.geeks2);

Producción: 
 

"geeks1 assigned"
42
"geeks3 assigned"
23
97

Ejemplo 2: 
 

javascript

const a = {}; 
const result = Reflect.defineProperty(a, "geek1", 
{ value : 19, }); 
 
console.log(a);
console.log( result);  
 
const b = {}; 
const result1 = Reflect.defineProperty(b, "geek2", 
{ value : 56, 
  writable: false
} 
); 
console.log(b ); 
console.log(result1);
 
let obj = {}
Reflect.defineProperty(obj, 'x', {value: 71})  // true
console.log(obj.x)

Producción: 
 

Object {  }
true
Object {  }
true
71

Navegadores compatibles: los navegadores compatibles con JavaScript Reflect.defineProperty() Method 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

Deja una respuesta

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