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

// 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 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, List Properties
  8. JS: Property Attributes
  9. JS: Getter/Setter Properties
  10. JS: Property Descriptor

Object and Inheritance Topic

  1. JS: Object System Overview
  2. JS: What's Object?
  3. JS: Prototype and Inheritance
  4. JS: Create Object
  5. JS: Object Literal Expression
  6. JS: Find Object's Prototype
  7. JS: Set Object's Prototype
  8. JS: How to Create Object with Parent X?
  9. JS: Prevent Adding Property
  10. JS: Determine Type of Object
  11. JS: Primitive Value Object Wrapper
  12. JS: Clone, Deep Copy Object/Array
  13. JS: Test Equality of Objects

  1. JS: Object Object
  2. JS: Object.prototype
Like what you read? Buy JavaScript in Depth