JavaScript | handler.apply() Method
The handler.apply() method in JavaScript is used as a trap for a function call. The value returned by this method is used as the result of a function call through a proxy.
Syntax:
const p = new Proxy(target, {
apply: function(target, thisArg, argumentsList) {
}
});Parameters: This method accept three parameters as mentioned above and described below:
- target: This parameter holds the target object.
- thisArg: This parameter is used for the call.
- argumentsList: This parameter contains the list as the argument and used for the call.
Return value: This method returns any value.
Below examples illustrate the handler.apply() method in JavaScript:
Example 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)); |
Output:
27 "Calculate sum: 23, 4" 126
Example 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'); |
Output:
"Geeksforgeeks" "geeks get (Tutorial, Jobs)" "Geeksforgeeks" "geeks get (Knowledge, internships)" "Geeksforgeeks" "geeks get (Stipend, skills)"
Supported Browsers: The browsers supported by JavaScript handler.apply() method are listed below:
- Google Chrome 49 and above
- Edge 12 and above
- Firefox 18 and above
- Opera 36 and above
- Safari 10 and above


