Skip to content
Related Articles

Related Articles

Improve Article
Save Article
Like Article

JavaScript | handler.apply() Method

  • Last Updated : 27 Sep, 2021

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




My Personal Notes arrow_drop_up
Recommended Articles
Page :

Start Your Coding Journey Now!