MENU
Handlers for Functions
.apply()
A trap for a function callfunction call function call . (overrides the original function)
RESETRUNFULL
<!DOCTYPE html><html><body><script>
function f(...args) {return args[0];}var p = new Proxy(f, {
apply: function(target, thisArg, argumentsList) {
console.log('called: ' + argumentsList.join(','));
let sum=0;
for (v of argumentsList) sum+=v;
return sum;
}});console.log(p(1,2,3,5)); // called: 1,2,3,5 // 11
</script></body><html>
.construct()
A trap for the newnew new operator. (overrides the original constructor)
RESETRUNFULL
<!DOCTYPE html><html><body><script>
var p = new Proxy(function() {console.log('Hi');}, {
construct: function(target, argumentsList, newTarget) {
return { value: argumentsList[0] * 10 };
}});var o = new p(10);console.log(o.value); // 100
</script></body><html>