JS: Object.defineProperties

By Xah Lee. Date: . Last updated: .

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
        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]


ECMAScript® 2016 Language Specification#sec-object.defineproperties

JS Object Property Topic

  1. JS: Property Overview
  2. JS: Property Key
  3. JS: Property Dot Notation / Bracket Notation
  4. JS: Create/Delete Property
  5. JS: Get Property, Set Property
  6. JS: Check Property Existence
  7. JS: Access Property
  8. JS: Property Attributes, writable, enumerable, configurable
  9. JS: Getter/Setter Properties
  10. JS: Property Descriptor

Object and Inheritance Topic

  1. JS: Object Overview
  2. JS: Object Type
  3. JS: Determine Type of Object
  4. JS: Object Literal Expression
  5. JS: Prototype and Inheritance
  6. JS: Create Object
  7. JS: Create Object with Parent X
  8. JS: Get/Set Prototype
  9. JS: Prevent Adding Property
  10. JS: Clone, Deep Copy Object/Array
  11. JS: Test Equality of Objects
  12. JS: Object Object
  13. JS: Object.prototype
Liket it? Put $5 at patreon.

Or, Buy JavaScript in Depth

If you have a question, put $5 at patreon and message me.