The handler.apply()
method is a trap for a function call.
const p = new Proxy(target, { apply: function(target, thisArg, argumentsList) { } });
The following parameters are passed to the apply()
method. this
is bound to the handler.
target
thisArg
this
argument for the call.argumentsList
The apply()
method can return any value.
The handler.apply()
method is a trap for a function call.
This trap can intercept these operations:
proxy(...args)
Function.prototype.apply()
and Function.prototype.call()
Reflect.apply()
If the following invariants are violated, the proxy will throw a TypeError
.
The target
must be a callable itself. That is, it must be a function object.
The following code traps a function call.
const p = new Proxy(function() {}, { apply: function(target, thisArg, argumentsList) { console.log('called: ' + argumentsList.join(', ')); return argumentsList[0] + argumentsList[1] + argumentsList[2]; } }); console.log(p(1, 2, 3)); // "called: 1, 2, 3" // 6
© 2005–2018 Mozilla Developer Network and individual contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://wiki.developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Proxy/Proxy/apply