Name

Object.defineProperties() — create or configure multiple object properties

Availability

ECMAScript 5

Synopsis

Object.defineProperties(o, descriptors)

Arguments

o

The object on which properties are to be created or configured.

descriptors

An object that maps property names to property descriptors.

Returns

The object o.

Throws

TypeError

If o is not an object, or if any of the specified properties cannot be created or configured. This function is not atomic: it may create or configure certain properties and then throw an error, before even attempting to create or configure other properties. See Property Attributes for a list of property configuration errors that can cause a TypeError.

Description

Object.defineProperties() creates or configures on the object o the properties named and described by descriptors. The names of the properties in descriptors are the names of the properties to be created or configured on o, and the values of those properties are the property descriptor objects that specify the attributes of the properties to be created or configured.

Object.defineProperties() works much like Object.defineProperty() does; see that function for more details. See Object.getOwnPropertyDescriptor() for more on property descriptor objects.

Example

// Add read-only properties x and y to a newly-created object
var p = Object.defineProperties({}, {
    x: { value: 0, writable: false, enumerable:true, configurable: true},
    y: { value: 1, writable: false, enumerable:true, configurable: true},
});

See Also ...

Get JavaScript: The Definitive Guide, 6th Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.