Open In App

JavaScript Reflect defineProperty() Method

Last Updated : 07 Aug, 2023
Improve
Improve
Like Article
Like
Save
Share
Report

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, 'geeks1', { value: 42 })) {
    console.log('geeks1 assigned');
 
} else {
    console.log('problem created by  geeks1');
}
 
console.log(object1.geeks1);
 
const object2 = {};
const object3 = {};
(Reflect.defineProperty(object2, 'geeks2', { value: 97 }))
if (Reflect.defineProperty(object3, 'geeks3', { value: 23 })) {
    console.log('geeks3 assigned');
} else {
    console.log('problem created by geeks3');
}
console.log(object3.geeks3);
console.log(object2.geeks2);


Output

geeks1 assigned
42
geeks3 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 })  // true
console.log(obj.x)


Output

{}
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.



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

Similar Reads