seal report
The JavaScript seal() 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 object that will not accept new properties. New properties can’t be added, and existing properties can’t be removed, but existing properties can be changed.
Object对象JavaScript seal()方法将一个对象作为参数,并返回相同的对象。 作为参数传递的对象是突变的,现在它是一个不接受新属性的对象。 不能添加新属性, 也不能删除现有属性,但是可以更改现有属性。
Example:
例:
const dog = {}
dog.breed = 'Siberian Husky'
Object.seal(dog)
dog.breed = 'Pug'
dog.name = 'Roger' //TypeError: Cannot add property name, object is not extensible
The argument passed as argument is also returned as argument, hence dog
=== myDog
(it’s the same exact object).
作为参数传递的参数也将作为参数返回,因此dog
=== myDog
(这是相同的对象)。
Similar to Object.freeze()
but does not make properties non-writable. In only prevents to add or remove properties.
与Object.freeze()
类似,但不会使属性不可写。 只能阻止添加或删除属性。
Similar to Object.preventExtensions()
but also disallows removing properties:
与Object.preventExtensions()
类似,但也不允许删除属性:
const dog = {}
dog.breed = 'Siberian Husky'
dog.name = 'Roger'
Object.seal(dog)
delete dog.name //TypeError: Cannot delete property 'name' of #<Object>
seal report