JavaScript | Método handler.construct()

El método handler.construct() en JavaScript es una trampa para la nueva operación y este método devuelve un objeto.
Sintaxis: 
 

const p = new Proxy(target, {
  construct: function(target, argumentsList, newTarget) {
  }
});  

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.
  • argumentsList: este parámetro contiene la lista del constructor.
  • newTarget: este parámetro contiene el constructor que se llamó originalmente, p arriba.

Valor de retorno: este método devuelve un objeto.
Los siguientes ejemplos ilustran el método handler.construct() en JavaScript:
Ejemplo 1: 
 

javascript

<script>
function monster1(disposition) {
  this.disposition = disposition;
}
 
const handler1 = {
  construct(target, args) {
    console.log('Users at Geeksforgeeks are called');
 
    return new target(...args);
  }
};
 
const proxy1 = new Proxy(monster1, handler1);
console.log(new proxy1('Geeks').disposition);
 
var pro = new Proxy(function() 
                    {}, { 
  construct: function(objTarget, args, oldConstructor) { 
     return { Value : args[0] + " to anybody" }  
  } 
}) 
   
console.log(JSON.stringify(new pro("Hello "), null, ' ')) 
</script>

Producción: 
 

"Users at Geeksforgeeks are called"
"Geeks"
"{
 "Value": "Hello  to anybody"
}"

Ejemplo 2: 
 

javascript

<script>
const p = new Proxy(function() {}, {
  construct: function(target, argumentsList, newTarget) {
    console.log('Value: ' + argumentsList.join(', '));
    return { value: argumentsList[0] * 10 /3};
  }
});
 
console.log('New Value: ' +new p(4).value);
</script>

Producción: 
 

"Value: 4"
"New Value: 13.333333333333334"

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

  • Google Chrome 49 y superior
  • Firefox 18 y superior
  • Ópera 36 y superior
  • Safari 10 y superior
  • Borde 12 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 *