Open In App

JavaScript Proxy/handler Reference

Improve
Improve
Like Article
Like
Save
Share
Report

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 Constructor: In JavaScript, a constructor gets called when an object is created using the new keyword.

Constrcutor

Description

Example

Proxy Return the proxy constructor function for the object.
Try

JavaScript Proxy Properties: There are no properties for proxy objects.

JavaScript Proxy Methods: JavaScript methods are actions that can be performed on objects.

  • Static Method: If the method is called using the proxy class itself then it is called a static method.

Methods

Description

Example

revocable() Create a new Proxy object which is similar to the Proxy() constructor
Try

JavaScript Handler Methods: This method is quite different from other javascript methods, this methods handle and verify user input, user actions, and browser actions. It sets the restriction to the browsers same tings does not required to trigger multiple ties as well.

Methods

Description

Example

apply() Trap for a function call.
Try

construct() Trap for the new operation and this method returns an object.
Try

defineProperty() Define the new properties and modify the existing properties directly on an object.
Try

deleteProperty() Trap for the delete operator.
Try

get() Trap for getting a property value.
Try

getOwnPropertyDescriptor() Trap for Object.getOwnPropertyDescriptor() method.
Try

getPrototypeOf() Trap for the internal method.
Try

has() Hide any property that you want.
Try

isExtensible() Trap for Object.isExtensible() method and it returns a boolean value.
Try

ownKeys() Trap for Reflect.ownKeys() method and this method returns an enumerable object.
Try

preventExtensions() Trap for Object.preventExtensions() method and it returns a boolean value.
Try

set() Trap for setting a property value. This method returns a boolean value.
Try

setPrototypeOf() Trap for Object.setPrototypeOf() method and it returns a Boolean value.
Try



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