MDN wants to learn about developers like you:

The static Reflect.defineProperty() method is like Object.defineProperty() but returns a Boolean.


Reflect.defineProperty(target, propertyKey, attributes)


The target object on which to define the property.
The name of the property to be defined or modified.
The attributes for the property being defined or modified.

Return value

A Boolean indicating whether or not the property was successfully defined.


A TypeError, if target is not an Object.


The Reflect.defineProperty method allows precise addition to or modification of a property on an object. For more details see the Object.defineProperty which is similar. Object.defineProperty returns the object or throws a TypeError if the property has not been successfully defined. Reflect.defineProperty, however, simply returns a Boolean indicating whether or not the property was successfully defined.


Using Reflect.defineProperty()

var obj = {};
Reflect.defineProperty(obj, 'x', {value: 7}); // true
obj.x; // 7

Checking if property definition has been successful

With Object.defineProperty, which returns an object if successful, or throws a TypeError otherwise, you would use a try...catch block to catch any error that occurred while defining a property. Because Reflect.defineProperty returns a Boolean success status, you can just use an if...else block here:

if (Reflect.defineProperty(target, property, attributes)) {
  // success
} else {
  // failure


Specification Status Comment
ECMAScript 2015 (6th Edition, ECMA-262)
The definition of 'Reflect.defineProperty' in that specification.
Standard Initial definition.
ECMAScript Latest Draft (ECMA-262)
The definition of 'Reflect.defineProperty' in that specification.

Browser compatibility

FeatureChromeEdgeFirefoxInternet ExplorerOperaSafari
Basic support491242 No3610
FeatureAndroid webviewChrome for AndroidEdge mobileFirefox for AndroidOpera AndroidiOS SafariSamsung Internet
Basic support4949 Yes423610 ?

See also

Document Tags and Contributors

 Last updated by: wbamberg,