The Wayback Machine - https://web.archive.org/web/20230305153357/https://www.geeksforgeeks.org/javascript-object-defineproperty-method/
Skip to content
Related Articles
Open in App
Not now

Related Articles

JavaScript Object.defineProperty() Method

Improve Article
Save Article
  • Difficulty Level : Medium
  • Last Updated : 27 Dec, 2022
Improve Article
Save Article

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




<script>
    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);
</script>

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




<script>
    function gfg() {
    }
      
    var result;
    Object.defineProperty(gfg.prototype, "valx", {
    get() {
        return result;
    },
    set(valx) {
        result = valx;
    }
    });
      
    var vala = new gfg();
    var 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
    });
      
    var 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);
</script>

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

My Personal Notes arrow_drop_up
Related Articles

Start Your Coding Journey Now!