Skip to content
Related Articles
Open in App
Not now

Related Articles

JavaScript Proxy Complete Reference

Improve Article
Save Article
  • Last Updated : 10 Jan, 2023
Improve Article
Save Article

JavaScript Proxy() Object is used to define the custom behavior of fundamental operations (e.g. property lookup, assignment, enumeration, function invocation, etc).

Syntax:

const p = new Proxy(target, {
 Proxy method: function(target, thisArg, argumentsList) {
  }
});

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

Javascript




<script>
    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));
</script>

Output:

27
"Calculate sum: 23, 4"
126

The complete list of JavaScript Proxy is listed below:

JavaScript Proxy Methods:

Methods

Description

apply()Trap for a function call.
construct()Trap for the new operation and this method returns an object.
defineProperty()Define the new properties and modify the existing properties directly on an object.
deleteProperty()Trap for the delete operator.
get()Trap for getting a property value.
getOwnPropertyDescriptor()Trap for Object.getOwnPropertyDescriptor() method.
getPrototypeOf()Trap for the internal method.
has()Hide any property that you want.
isExtensible()Trap for Object.isExtensible() method and it returns a boolean value.
ownKeys()Trap for Reflect.ownKeys() method and this method returns an enumerable object.
preventExtensions()Trap for Object.preventExtensions() method and it returns a boolean value.
set()Trap for setting a property value. This method returns a boolean value.
setPrototypeOf()Trap for Object.setPrototypeOf() method and it returns a Boolean value.
My Personal Notes arrow_drop_up
Related Articles

Start Your Coding Journey Now!