JavaScript (ES2026) reference · Object Methods
JavaScript Object.defineProperties() Method
Add or change several properties at once using property descriptors, each with its own writable and enumerable flags.
JavaScript (ES2026) Since ES5
Syntax
Object.defineProperties(obj, props)
Parameters
| Parameter | Description |
|---|---|
obj |
The object to inspect or change. |
props |
An object mapping names to descriptors. |
Return value
The object.
Examples
const user = {};
Object.defineProperties(user, {
id: { value: 7, enumerable: true },
secret: { value: "x", enumerable: false },
});
console.log(user, user.secret);
Output
{ id: 7 } xconst p = Object.defineProperties({}, { a: { value: 1, writable: true } });
p.a = 2;
console.log(p.a, Object.getOwnPropertyDescriptor(p, "a").enumerable);
Output
2 false
Version history
| Version | Change |
|---|---|
| JavaScript ES5 | Added |
Related
Object.defineProperty()· Add or change one property with full control over whether it is writable, enumerable and configurable, or define a getter.Object.getOwnPropertyDescriptor()· Return the descriptor (value, writable, enumerable, configurable or get/set) of one own property.- JavaScript Objects · tutorial