Object对象的JavaScript preventExtensions()方法的用法

43 阅读1分钟

找出关于Object对象的JavaScript preventExtensions()方法的所有信息

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

例子:

const dog = {}
dog.breed = 'Siberian Husky'
Object.preventExtensions(dog)

dog.name = 'Roger' //TypeError: Cannot add property name, object is not extensible

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

我们不能添加新的属性,但我们可以删除现有的属性。

const dog = {}
dog.breed = 'Siberian Husky'
dog.name = 'Roger'
Object.preventExtensions(dog)
delete dog.name
dog //{ breed: 'Siberian Husky' }