frozen graph
The JavaScript freeze() method of the Object object takes an object as argument, and returns the same object. The object passed as argument is mutated and it’s now an immutable object. No properties can be added, no properties can be removed, properties can’t be changed.
Object对象JavaScript Frozen()方法将一个对象作为参数,并返回相同的对象。 作为参数传递的对象是可变的,现在它是一个不可变的对象。 不能添加任何属性,不能删除任何属性,不能更改属性。
Example:
例:
const dog = {}
dog.breed = 'Siberian Husky'
const myDog = Object.freeze(dog)
Object.isFrozen(dog) //true
Object.isFrozen(myDog) //true
dog === myDog //true
dog.name = 'Roger' //TypeError: Cannot add property name, object is not extensible
Also see
Object.isFrozen()
In the example, both dog
and myDog
are frozen. The argument passed as argument to Object.freeze()
is mutated, and can’t be un-freezed. It’s also returned as argument, hence dog
=== myDog
(it’s the same exact object).
在此示例中, dog
和myDog
均被冻结。 作为参数传递给Object.freeze()
参数是Object.freeze()
,不能取消冻结。 它也作为参数返回,因此dog
=== myDog
(它是相同的对象)。
Calling Object.freeze()
is the equivalent of calling Object.preventExtensions()
to prevent an object to have more properties defined, plus setting all properties as non-configurable and non-writeable.
调用Object.freeze()
等同于调用Object.preventExtensions()
以防止对象定义更多属性,并将所有属性设置为不可配置和不可写。
frozen graph