Open In App

JavaScript Proxy/handler Reference

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:




<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.

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

Article Tags :