JavaScript Object defineProperty() Method
Last Updated :
26 May, 2023
The Object.defineProperty() method in JavaScript is a Standard built-in object which defines a new property directly on an object or it can also modify the existing property of an object and returns the object.
Syntax:
Object.defineProperty(obj, prop, descriptor)
Parameter: This method accepts three parameters as mentioned above and described below:
- Obj: This parameter holds the Object on which the user is going to define the property.
- Prop: This parameter holds the name of a property that is going to be defined or modified.
- Descriptor: This parameter holds the descriptor for the property being defined or modified.
Return Value: This method returns the object which is passed as the argument to the function.
Below examples illustrate the Object.defineProperty() method in JavaScript:
Example 1: In this example, we will add new properties to an object and print it in the console using the Object.defineProperty() method in JavaScript.
javascript
const geek1 = {};
Object.defineProperty(geek1, 'prop1' , {
value: 65,
writable: false
});
geek1.prop1 = 7;
console.log(geek1.prop1);
const geek2 = {};
Object.defineProperty(geek2, 'prop2' , {
value: 54,
value: 23,
value: 12 * 9,
});
geek2.prop2;
console.log(geek2.prop2);
|
Output:
65
108
Example 2: In this example, we will add new properties to an object and print it in the console using the Object.defineProperty() method in JavaScript.
javascript
function gfg() {
}
let result;
Object.defineProperty(gfg.prototype, "valx" , {
get() {
return result;
},
set(valx) {
result = valx;
}
});
let vala = new gfg();
let valb = new gfg();
vala.valx = 6;
console.log(valb.valx);
function gfg1() {
}
gfg1.prototype.valx = 4;
Object.defineProperty(gfg1.prototype, "valy" , {
writable: false ,
value: 8
});
let vala = new gfg1();
vala.valx = 4;
console.log(vala.valx);
console.log(gfg1.prototype.valx);
vala.valy = 2;
console.log(vala.valy);
console.log(gfg1.prototype.valy);
|
Output:
6
4
4
8
8
We have a complete list of Javascript Object methods, to check those please go through this JavaScript Object Complete Reference article.
Supported Browsers: The browsers supported by Object.defineProperty() method are listed below:
- Google Chrome
- Firefox
- Opera
- Safari
- Edge
Share your thoughts in the comments
Please Login to comment...