Open In App

JavaScript Handler apply() Method

Improve
Improve
Like Article
Like
Save
Share
Report

JavaScript 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 accepts 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 is used for the call.

Return value: This method returns any value.

Below examples illustrate the handler.apply() method in JavaScript:

Example 1: In this example, we will calculate the sum of the numbers using the handler.apply() method in JavaScript.

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: In this example, we will print values using the handler.apply() method in JavaScript.

javascript




let str = function (arg1, arg2) {
    console.log('geeks get (' + arg1 + ', ' + arg2 + ')');
};
let 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

We have a complete list of Javascript Proxy/handler methods, to check those go through the Javascript Proxy/handler Reference article.



Last Updated : 22 May, 2023
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads