了解关于Object对象的JavaScript seal()方法的所有信息

解释
接受一个对象作为参数,并返回相同的对象。作为参数传递的对象发生了变化,它现在是一个不接受新属性的对象。不能添加新属性,也不能删除现有属性,但可以更改现有属性。
正文
例:
const dog = {}
dog.breed = 'Siberian Husky'
let myDog = 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>