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

JS Object and Inheritance

  1. Object Overview
  2. Object Type
  3. Prototype and Inheritance
  4. Create Object
  5. Object Literal Expression
  6. Create Object with Parent X
  7. Get/Set Prototype
  8. Prevent Adding Property
  9. Determine Type of Object
  10. Clone Object
  11. Test Object Equality
  12. Add Method to Prototype
  13. Object Object
  14. 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 in Depth
  4. JS Reference
  5. DOM
  6. SVG
  7. Web Dev Blog