JavaScript | método handler.get()

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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *