El método handler.apply() en JavaScript se usa como una trampa para una llamada de función. El valor devuelto por este método se utiliza como resultado de una llamada de función a través de un proxy.
Sintaxis:
const p = new Proxy(target, { apply: function(target, thisArg, argumentsList) { } });
Parámetros: Este método acepta tres parámetros como se mencionó anteriormente y se describe a continuación:
- target: este parámetro contiene el objeto de destino.
- thisArg: este parámetro se utiliza para la llamada.
- argumentsList: este parámetro contiene la lista como argumento y se utiliza para la llamada.
Valor devuelto: este método devuelve cualquier valor.
Los siguientes ejemplos ilustran el método handler.apply() en JavaScript:
Ejemplo 1:
javascript
function sum(a, b) { return a + b; } const handler = { apply: function(target, thisArg, argumentsList) { console.log(`Calculate sum: ${argumentsList}`); return target(argumentsList[0], argumentsList[1])*14/3; } }; const proxy1 = new Proxy(sum, handler); console.log(sum(23, 4)); console.log(proxy1(23, 4));
Producción:
27 "Calculate sum: 23, 4" 126
Ejemplo 2:
javascript
var str = function(arg1, arg2) { console.log('geeks get (' + arg1 + ', ' + arg2 + ')'); }; var proxy = new Proxy(str, { apply: function(target, thisArg, parameters) { console.log('Geeksforgeeks'); return target.apply(thisArg, parameters); } }); proxy('Tutorial', 'Jobs'); proxy.apply(null, ['Knowledge', 'internships']); proxy.call(null, 'Stipend', 'skills');
Producción:
"Geeksforgeeks" "geeks get (Tutorial, Jobs)" "Geeksforgeeks" "geeks get (Knowledge, internships)" "Geeksforgeeks" "geeks get (Stipend, skills)"
Navegadores compatibles: los navegadores compatibles con el método JavaScript handler.apply() 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