JS: Object.freeze

JS: Object.freeze

Object.freeze(obj)

  1. Set the object's “extensible” attribute to false. (cannot add properties)
  2. Set ALL of the object's own property's “configurable” attributes to false. (cannot delete properties)
  3. Set ALL of the object's own property's “writable” attributes to false. (cannot change property values)

Freezing a object makes it impossible to {add, delete, change} properties.

[see JS: Prevent Adding Property]

// freeze object

const oo = {k1:1, k2:2};

console.log(Object.getOwnPropertyDescriptor(oo, "k1"));
// { value: 1, writable: true, enumerable: true, configurable: true }

Object.freeze(oo);

console.log(Object.getOwnPropertyDescriptor(oo, "k1"));

// { value: 1,
//   writable: false,
//   enumerable: true,
//   configurable: false }

console.log(Object.getOwnPropertyDescriptor(oo, "k2"));
// { value: 2,
//   writable: false,
//   enumerable: true,
//   configurable: false }

console.log(Object.isExtensible(oo));
// false
Liket it? I spend 2 years writing this tutorial. Help me spread it. Tell your friends. Or, 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 Object Reference
  5. DOM Scripting
  6. SVG
  7. Blog