El método handler.preventExtensions() en JavaScript es una trampa para el método Object.preventExtensions() y devuelve un valor booleano.
Sintaxis:
const p = new Proxy(target, { preventExtensions: function(target) { } });
Parámetros: este método acepta un solo parámetro de destino que contiene el objeto de destino.
Valor devuelto: este método devuelve un valor booleano.
Los siguientes ejemplos ilustran el método handler.preventExtensions() en JavaScript:
Ejemplo 1:
javascript
<script> const monster1 = { canEvolve: true }; const handler1 = { preventExtensions(target) { target.canEvolve = false; Object.preventExtensions(target); return true; } }; const proxy1 = new Proxy(monster1, handler1); document.writeln(monster1.canEvolve); document.writeln("<br>"); document.writeln(Object.preventExtensions(proxy1)); document.writeln("<br>"); document.writeln(monster1.canEvolve); document.writeln("<br>"); const proxy = new Proxy({}, { preventExtensions: function(target) { Object.preventExtensions(target); return !Object.isExtensible(target); } }); document.writeln(Object.isExtensible(proxy)); </script>
Producción:
true [object Object] false true
Ejemplo 2:
javascript
<script> const p = new Proxy({}, { preventExtensions: function(target) { document.writeln('preventExtensions()'+"<br>"); document.writeln(Object.preventExtensions(target)+"<br>"); return true; } }); document.writeln(Object.preventExtensions(p)+"<br>"); var x = { first: false }; var y ={ preventExtensions(target) { target.canEvolve = false; Object.preventExtensions(target); return true; } }; var proxy = new Proxy(x, y); document.writeln(x.first); Object.preventExtensions(proxy); document.writeln("<br/>"); document.writeln(x.first); </script>
Producción:
preventExtensions() [object Object] [object Object] false false
Navegadores compatibles: los navegadores compatibles con el método handler.preventExtensions() se enumeran a continuación:
- Google Chrome 49 y superior
- Borde 12 y superior
- Firefox 22 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