每天一个JS知识点

JavaScript提供了两种方法来阻止对象被更新:Object.freeze()Object.seal()

但是这两个方法也有不同之处:

Object.freeze()

Object.freeze()可以阻止从对象或数组中添加,删除,修改属性。

比如有一个user对象

const user = {'name': '狗蛋', age: '33'}
复制代码

把这个user对象传给Object.freeze(),做一些添加,修改,删除的操作,会发现对象没有变化。

Object.freeze(user)

user.name = '张三'
user.age = '23'
user.sex = '不知道'

delete user.name

console.log(user)

// {'name': '狗蛋', age: '33'}
复制代码

Object.seal()

Object.seal()可以更新对象中已有的属性,但是阻止添加何删除操作。

Object.seal(user)

user.name = '张三'
user.sex = '不知道'

delete user.age

console.log(user)

// {'name': '张三', age: '33'}
复制代码

不积硅步无以至千里

加油,?,打工人!

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享