JS: Object.defineProperties
Object.defineProperties(obj, {key1: descriptor1}, {key2: descriptor2},…)
Create properties or modify existing properties.
Return the modified obj.
The descriptor1, descriptor2, etc are property descriptors.
[see JS: Property Descriptor]
[see JS: Property Attributes, writable, enumerable, configurable]
// create a object const yy = {}; // add 2 properties, with their attributes Object.defineProperties( yy, { x1:{ value : 1, writable: true, enumerable: true, configurable: true}, x2:{ value : 2, writable: true, enumerable: true, configurable: true} } ); console.log(yy); // { x1: 1, x2: 2 }
To create/modify only 1 property, use Object.defineProperty
[see JS: Object.defineProperty]
Create/Add Getter/Setter Properties
Object.defineProperties(obj, {pkey1, { get: function, enumerable: false, configurable: true }}, {pkey2, …},…)
[see JS: Getter/Setter Properties]
Reference
ECMAScript® 2016 Language Specification#sec-object.defineproperties
JS Object Property
JS Object and Inheritance
If you have a question, put $5 at patreon and message me.