首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >禁止添加属性、封闭对象、冻结对象的 API

禁止添加属性、封闭对象、冻结对象的 API

作者头像
很酷的站长
发布2022-12-21 15:09:14
发布2022-12-21 15:09:14
1K0
举报
1. 前言

除了设置对象的属性特征,对属性进行控制,系统也提供了一些简化的 API 来进行属性控制

2. 禁止添加属性的 API

代码语言:javascript
复制
// 禁止在对象中添加属性
Object.preventExtensions(user)
// 无法给对象新增属性
// 在非严格模式下不会抛出错误,在严格模式下会抛出错误
// user.site = 'doc.itqaq.com'
// 判断是否允许可以往对象中添加属性
if (Object.isExtensible(user)) {
user.site = 'www.itqaq.com'
}
3. 封闭对象的 API 操作

封闭对象: 不能添加和删除属性,也不能修改对象的属性特征。会自动设置属性特征 configurable: false

代码语言:javascript
复制
// 封闭对象
Object.seal(user)
// 判断对象是否处于封闭状态
if (!Object.isSealed(user)) {
user.site = 'add'
delete user.age
}
4. 冻结对象的 API 操作

封闭对象: 无法添加、删除、修改属性值,也不能修改对象的属性特征。自动修改属性特征 writable: false,configurable: false

代码语言:javascript
复制
// 冻结对象
Object.freeze(user)
// 判断对象有没有被冻结 true 已冻结
if (!Object.isFrozen(user)) {
user.site = 'add'
user.name = 'update'
delete user.age
}
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. 前言
  • 2. 禁止添加属性的 API
  • 3. 封闭对象的 API 操作
  • 4. 冻结对象的 API 操作
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档