# Immutable Object
# level 1
Object.defineProperty(obj, prop, { writable: false, configurable: false })
Copied!
1
2
3
4
2
3
4
# level 2
Object.preventExtensions()
forbid object to creating any new property.
var myObject = {a:2}; Object.preventExtensions( myObject ); myObject.b = 3; myObject.b; // undefined
Copied!
1
2
3
4
2
3
4
# level 3
Object.seal()
= Object.preventExtensions()
+ configurable: false
Object.seal(obj)
Copied!
1
# level 4
Object.freeze()
= Object.seal()
+ writable: false
Object.freeze()
Copied!
1