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

  1. Property Overview
  2. Property Key
  3. Dot vs Bracket Notation
  4. Create/Delete Property
  5. Get/Set Property
  6. Check Property Existence
  7. Access Property
  8. List Properties
  9. Property Attributes
  10. Getter/Setter
  11. Property Descriptor
  12. Symbol

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.

Web Dev Tutorials

  1. HTML
  2. Visual CSS
  3. JS Basics
  4. JS in Depth
  5. JS Reference
  6. DOM
  7. SVG
  8. JS Misc