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