JavaScript Reflect.defineProperty() method in JavaScript is used to allow the precise addition to or modification of a property on an object. This method returns a Boolean value which indicates whether the property was successfully defined.
Syntax:
Reflect.defineProperty(target, propertyKey, attributes)
Parameter: This method accepts three parameters as mentioned above and described below:
- target: This parameter defines the property and the target object.
- propertyKey: This parameter is the name of the property which is to be defined or modified.
- Attributes: This parameter is the attributes for the property which is being defined or modified.
Return value: This method returns a Boolean value which indicates whether the property was successfully defined.
Exceptions: A TypeError is an exception given as the result when the target is not an Object.
Below examples illustrate the Reflect.defineProperty() method in JavaScript:
Example 1: The below example shows the basic use of the Reflect.defineProperty() method in JavaScript.
javascript
const object1 = {};Â
if (Reflect.defineProperty(object1, 'neveropen1', { value: 42 })) {Â Â Â Â console.log('neveropen1 assigned');Â
} else {    console.log('problem created by neveropen1');}Â
console.log(object1.neveropen1);Â
const object2 = {};const object3 = {};(Reflect.defineProperty(object2, 'neveropen2', { value: 97 }))if (Reflect.defineProperty(object3, 'neveropen3', { value: 23 })) {Â Â Â Â console.log('neveropen3 assigned');} else {Â Â Â Â console.log('problem created by neveropen3');}console.log(object3.neveropen3);console.log(object2.neveropen2); |
neveropen1 assigned 42 neveropen3 assigned 23 97
Example 2: The below example shows the basic use of the Reflect.defineProperty() method in JavaScript.
javascript
const a = {};const result = Reflect.defineProperty(a, "geek1",    { value: 19, });Â
console.log(a);console.log(result);Â
const b = {};const result1 = Reflect.defineProperty(b, "geek2",    {        value: 56,        writable: false    });console.log(b);console.log(result1);Â
let obj = {}Reflect.defineProperty(obj, 'x', { value: 71 })Â // trueconsole.log(obj.x) |
{}
true
{}
true
71
Supported Browsers:
The browsers are supported by JavaScript Reflect.defineProperty() Method are listed below:
- Google Chrome 49 and above
- Edge 12 and above
- Firefox 42 and above
- Opera 36 and above
- Safari 10 and above
We have a complete list of Javascript Reflects methods, to check those go through the JavaScript Reflect Reference article.
