对象seal()方法

找出有关Object对象的JavaScript seal()方法的全部信息

Object对象的JavaScript seal()方法将一个对象作为参数,并返回相同的对象。作为参数传递的对象是突变的,现在它是一个不接受新属性的对象。新属性不能添加,以及现有属性不能被删除,但是现有属性能够被改变。

例子:

const dog = {}
dog.breed = 'Siberian Husky'
Object.seal(dog)
dog.breed = 'Pug'
dog.name = 'Roger' //TypeError: Cannot add property name, object is not extensible

作为参数传递的参数也将作为参数返回,因此dog===myDog(这是完全相同的对象)。

如同Object.freeze()但不会使属性不可写。只能阻止添加或删除属性。

如同Object.preventExtensions()但也不允许删除属性:

const dog = {}
dog.breed = 'Siberian Husky'
dog.name = 'Roger'
Object.seal(dog)
delete dog.name //TypeError: Cannot delete property 'name' of #<Object>

免费下载我的JavaScript初学者手册


更多js教程: