Open In App

JavaScript Object defineProperty() Method

Last Updated : 26 May, 2023
Improve
Improve
Like Article
Like
Save
Share
Report

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


Like Article
Suggest improvement
Previous
Next
Share your thoughts in the comments

Similar Reads