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:
- target: This parameter holds the target object.
- property: This parameter holds the name or Symbol of the property.
- value: This parameter holds the new value of the property.
- receiver: This parameter holds the object to which the assignment was originally directed.
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.
javascript
| functiongfg() {    this.users = "Millions";}const handler1 = {    set(obj, prop, value) {        if((prop === 'users') && ((value % 2) !== 0)) {            console.log('GEEKSFORGEEKS : Computer Science Portal');        } else{            returnReflect.set(...arguments);        }    }};const gfg1 = newgfg();const proxy1 = newProxy(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.
javascript
| const p = newProxy({}, {    set: function(target, prop, value, receiver) {        target[prop] = value;        console.log('property set: '+ prop + ' = '+ value);        returntrue;    }})console.log('a'inp);p.a = 10;console.log('a'inp);console.log(p.a);let x = { foo: 1 };let proxy = newProxy(x, {    set: function(target, name, value, proxy) {        target[name] = value + " --> "+ value.toUpperCase();    }});proxy.foo = 'neveropen';console.log(x.foo); | 
Output:
false "property set: a = 10" true 10 "neveropen --> GEEKSFORGEEKS"
Supported Browsers: The browsers supported by handler.set() method are listed below.
- Google Chrome 49 and above
- Edge 12 and above
- Firefox 18 and above
- Opera 36 and above
- Safari 10 and above
We have a complete list of Javascript Proxy/handler methods, to check those go through the Javascript Proxy/handler Reference article.


 
                                    







