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
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.
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.
- 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.
Whether you're preparing for your first job interview or aiming to upskill in this ever-evolving tech landscape,
GeeksforGeeks Courses are your key to success. We provide top-quality content at affordable prices, all geared towards accelerating your growth in a time-bound manner. Join the millions we've already empowered, and we're here to do the same for you. Don't miss out -
check it out now!
Last Updated :
22 May, 2023
Like Article
Save Article