JavaScript | Método Reflect.preventExtensions()

El método Reflect.preventExtensions() en Javascript se usa para evitar futuras extensiones del objeto, lo que significa evitar que se agreguen nuevas propiedades al objeto.
Sintaxis: 
 

Reflect.preventExtensions( obj )  

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

  • Obj: este parámetro contiene el objeto de destino y se utiliza para evitar extensiones.

Valor devuelto: este método devuelve el valor booleano. Devuelve verdadero para la prevención exitosa de las extensiones. De lo contrario, devuelve falso.
Excepciones: un TypeError es una excepción dada como resultado, cuando el objetivo no es un objeto.
El siguiente ejemplo ilustra el método Reflect.preventExtensions() en JavaScript:
Ejemplo 1: 
 

javascript

const object1 = {};
 
console.log(Reflect.isExtensible(object1));
Reflect.preventExtensions(object1);
console.log(Reflect.isExtensible(object1));
 
const obj = {}; 
Reflect.preventExtensions(obj); 
console.log( 
Reflect.isExtensible(obj) 
);   
obj.val = 3; 
console.log( 
    obj.hasOwnProperty ("val") 
); 

Producción: 
 

true
false
false
false

Ejemplo 2: 
 

javascript

let empty = {}
console.log(Reflect.isExtensible(empty));
console.log(Reflect.preventExtensions(empty));
console.log(Reflect.isExtensible(empty));
 
const obj = {"val1":3, "val2":4}; 
Reflect.preventExtensions(obj); 
console.log ( obj.hasOwnProperty ( "val1" ) );  
delete obj.val1; 
console.log ( obj.hasOwnProperty ( "val2" ) ); 

Producción: 
 

true
true
false
true
true

Navegadores compatibles: los navegadores compatibles con el método Reflect.preventExtensions() 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 *