JavaScript | método handler.isExtensible()

El método handler.isExtensible() en JavaScript es una trampa para el método Object.isExtensible() y devuelve un valor booleano.
Sintaxis: 
 

const p = new Proxy(target, {
  isExtensible: function(target) {
  }
});

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

  • target: este parámetro es el objeto de destino.

Valor devuelto: este método devuelve un valor booleano.
Los siguientes ejemplos ilustran el método handler.isExtensible() en JavaScript:
Ejemplo 1: 
 

javascript

<script>
const monster1 = {
  canEvolve: true
};
 
const handler1 = {
  isExtensible(target) {
    return Reflect.isExtensible(target);
  },
  preventExtensions(target) {
    target.canEvolve = false;
    return Reflect.preventExtensions(target);
  }
};
 
const proxy1 = new Proxy(monster1, handler1);
document.writeln(Object.isExtensible(proxy1));
document.writeln("<br>");
document.writeln(monster1.canEvolve);
document.writeln("<br>");
document.writeln(Object.preventExtensions(proxy1));
document.writeln("<br>");
document.writeln(Object.isExtensible(proxy1));
document.writeln("<br>");
document.writeln(monster1.canEvolve); 
</script>

Producción: 
 

true
true
[object Object]
false
false

Ejemplo 2: 
 

javascript

<script>
const p = new Proxy({}, {
  isExtensible: function(target) {
    console.log('isExtensible method');
    return true;
  }
});
 
console.log(Object.isExtensible(p));
 
var a = { 
  canEvolve: true 
}; 
var b = {  
  isExtensible(target) { 
    return true; 
  }, 
   }; 
const proxy1 = new Proxy(a, b); 
console.log(Object.isExtensible(proxy1));
</script>

Producción: 
 

"isExtensible method"
true
true

Navegadores compatibles: los navegadores compatibles con el método handler.isExtensible() se enumeran a continuación: 
 

  • Google Chrome 49 y superior
  • Borde 12 y superior
  • Firefox 31 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 *