JavaScript Object.defineProperties()

Definition and Usage

Object.defineProperties() This method is used to add or change object properties.

Object.defineProperties() This method allows you to change the metadata of the property.

Object.defineProperties() This method allows you to add getter and setter.

Related methods:

Object.defineProperty() Add or modify property.

Object.defineProperties() Add or modify multiple properties.

Object.getOwnPropertyNames() Return all property names of the object.

Object.getOwnPropertyDescriptor() Returns the descriptor of the property.

Object.getOwnPropertyDescriptors() Returns the descriptors of all properties of the object.

Instance

Add properties:

// Create an object
const person = {
  firstName: "比尔",
  lastName: "盖茨"
});
// Add properties
Object.defineProperties(person, {
  language: { value: "en" },
  year: { value: "Hello" }
});

Try it yourself

Syntax

Object.defineProperty(object, property, descriptor)

Parameter

Parameter Description
object Required. The object to be edited.
property Required. The property to be edited.
descriptor

Required. The descriptor of the property to be added or modified:

  • value: value
  • writable : true|false
  • enumerable : true|false
  • configurable : true|false
  • get : function
  • set : function

Return value

Type Description
Object Returns the object passed in and applies the changes.

Browser support

Object.defineProperties() It is a feature of ECMAScript 5 (ES5).

Since July 2013, ES5 (JavaScript 2009) has been fully supported in all modern browsers:

Chrome Edge Firefox Safari Opera
Chrome 23 IE/Edge 11 Firefox 21 Safari 6 Opera 15
September 2012 September 2012 April 2013 July 2012 July 2013