找出关于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' }