El método handler.get() en JavaScript es una trampa para obtener un valor de propiedad.
Sintaxis:
const p = new Proxy(target, { get: function(target, property, receiver) { } });
Parámetros: Este método acepta tres parámetros como se mencionó anteriormente y se describe a continuación:
- Destino: este parámetro contiene el objeto de destino.
- Propiedad: este parámetro contiene el nombre de la propiedad que se va a obtener.
- Receptor: este parámetro contiene el proxy o un objeto que hereda del proxy.
Valor devuelto: este método devuelve cualquier valor.
Los siguientes ejemplos ilustran el método handler.get() en JavaScript:
Ejemplo 1:
javascript
<script> const monster1 = { string: 'Geeksforgeeks', num: 334 }; const handler1 = { get: function(target, prop, receiver) { if (prop === 'string') { return `${target.string.substr(0, 8)} ... Best portal!`; } else { return Reflect.get(...arguments); } } }; const proxy1 = new Proxy(monster1, handler1); console.log(proxy1.num); console.log(proxy1.string); console.log(proxy1.numstring); const obj = new Proxy({}, { get: function(target, property, receiver) { console.log('Property : ' + property); return 56.56; } }); console.log(obj.value); </script>
Producción:
334 "Geeksfor ... Best portal!" undefined "Property : value" 56.56
Ejemplo 2:
javascript
<script> const obj = {}; Object.defineProperty(obj, 'a', { configurable: false, enumerable: false, value: 10, writable: false }); const p = new Proxy(obj, { get: function(target, property) { return 10; } }); console.log(p.a); var datalist = { "vala": 32, "valb": 7 } var get = new Proxy( datalist, { get: function(y, idx) { return y[idx] * 11 } } ) for(var z in get) { console.log(z +" : "+ get[z]) } </script>
Producción:
10 "vala : 352" "valb : 77"
Navegadores compatibles: los navegadores compatibles con el método handler.get() se enumeran a continuación:
- Google Chrome 49 y superior
- Borde 12 y superior
- Firefox 18 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