Skip to content
Related Articles

Related Articles

Explain handler method in ES6

View Discussion
Improve Article
Save Article
Like Article
  • Difficulty Level : Hard
  • Last Updated : 13 Feb, 2022

A handler is an object whose properties are functions that define the behaviour of the proxy when an operation is performed on it. An empty handler will create a proxy that behaves, in almost all respects, exactly like the target. By defining any of a set group of functions on the handler object, you can customize specific aspects of the proxy’s behaviour. For example, by defining get() you can provide a customized version of the target’s property accessor.

Syntax:

new Proxy(target, handler)

proxy constructor(): Used to create a proxy object which takes two parameters.

Parameters: 

  • target: target object to wrap with Proxy. It can be any sort of object, including a native array, a function, or even another proxy.
  • handler: An object whose properties are functions that define the behaviour of the proxy when an operation is performed on it.

List of Handler Methods: This section lists all the handler methods you can define. Handler methods are sometimes called traps, because they trap calls to the underlying target object

Example: In this example, the target has two properties, string and num. We define a handler that returns a different value for num, and lets any other accesses through to the target.

Javascript




<script>
const target = {
    string: "GeekForGeeks",
    num: 123
};
const handler = {
    get: function (target, prop, receiver) {
        if (prop === "string") {
            return "GeeksForGeeks";
        }
        return Reflect.get(...arguments);
    }
};
const obj = new Proxy(target, handler);
console.log(obj.string); // "GeeksForGeeks"
console.log(obj.num);    // "123"
</script>

Output:

GeeksForGeeks
123
My Personal Notes arrow_drop_up
Recommended Articles
Page :

Start Your Coding Journey Now!