Open In App

JavaScript Handler set() Method

JavaScript handler.set() method in JavaScript is a trap for setting a property value. This method returns a boolean value.

Syntax: 



const p = new Proxy(target, {
      set: function(target, property, value, receiver) {
  }
});

Parameters: This method accepts four parameters as mentioned above and described below: 

Return value: This method always returns a boolean value.



Below examples illustrate the handler.set() Method in JavaScript:

Example 1: In this example, we will see the basic use of the handler.set() Method in JavaScript.




function gfg() {
    this.users = "Millions";
}
 
const handler1 = {
    set(obj, prop, value) {
        if ((prop === 'users') && ((value % 2) !== 0)) {
            console.log('GEEKSFORGEEKS : Computer Science Portal');
        } else {
            return Reflect.set(...arguments);
        }
    }
};
 
const gfg1 = new gfg();
const proxy1 = new Proxy(gfg1, handler1);
proxy1.users = 1;
 
console.log(proxy1.users);

Output: 

"GEEKSFORGEEKS : Computer Science Portal"
"Millions"

Example 2: In this example, we will see the basic use of the handler.set() Method in JavaScript.




const p = new Proxy({}, {
    set: function (target, prop, value, receiver) {
        target[prop] = value;
        console.log('property set: ' + prop + ' = ' + value);
        return true;
    }
})
 
console.log('a' in p);
 
p.a = 10;
console.log('a' in p);
console.log(p.a);
 
let x = { foo: 1 };
let proxy = new Proxy(x, {
    set: function (target, name, value, proxy) {
        target[name] = value + " --> " + value.toUpperCase();
    }
});
proxy.foo = 'geeksforgeeks';
console.log(x.foo);

Output: 

false
"property set: a = 10"
true
10
"geeksforgeeks --> GEEKSFORGEEKS"

Supported Browsers: The browsers supported by handler.set() method are listed below. 

We have a complete list of Javascript Proxy/handler methods, to check those go through the Javascript Proxy/handler Reference article.


Article Tags :