The Object.defineProperty() method defines a new property to an object or modifies an existing property of an object.
The defineProperty() method is declared as follows:
Object.defineProperty( obj, prop, desc)
obj: The object whose property is defined.prop: The name or symbol of the property that is set.desc: The descriptor of the property that is set.We can use the property descriptor to do the following:
Object.defineProperty( obj, prop, {value: "new val"})
Object.defineProperty( obj, prop, {writable: bool})
Object.defineProperty( obj, prop, {enumerable: bool})
Object.defineProperty( obj, prop, {configureable: bool})
Where bool is either true or false.
The defineProperty() method returns the object obj with the property prop set.
The following browsers support the defineProperty() method:
Consider the code snippet below, which demonstrates the use of the defineProperty() method where the object’s property is modified.
var Student = { name: 'Ali', rollNo: '123'}console.log(Student)//modifying propertyObject.defineProperty(Student, "rollNo", {value: "234"})console.log(Student)
Consider the code snippet below, which demonstrates the use of the defineProperty() method where an object’s property is added.
var Student = { name: 'Ali', rollNo: '123'}console.log(Object.getOwnPropertyNames(Student));//return names of object's properties//adding propertyObject.defineProperty(Student, 'batch', {value: "2021", writeable: true})console.log(Object.getOwnPropertyNames(Student));//return names of object's properties
Free Resources