禁止添加属性、封闭对象、冻结对象的 API
2024-09-21
16
1. 前言2. 禁止添加属性的 API3. 封闭对象的 API 操作4. 冻结对象的 API 操作
1. 前言
除了设置对象的属性特征,对属性进行控制,系统也提供了一些简化的 API 来进行属性控制
2. 禁止添加属性的 API
// 禁止在对象中添加属性
Object.preventExtensions(user)
// 无法给对象新增属性
// 在非严格模式下不会抛出错误,在严格模式下会抛出错误
// user.site = 'doc.itqaq.com'
// 判断是否允许可以往对象中添加属性
if (Object.isExtensible(user)) {
user.site = 'www.itqaq.com'
}
3. 封闭对象的 API 操作
封闭对象: 不能添加和删除属性,也不能修改对象的属性特征。会自动设置属性特征 configurable: false
// 封闭对象
Object.seal(user)
// 判断对象是否处于封闭状态
if (!Object.isSealed(user)) {
user.site = 'add'
delete user.age
}
4. 冻结对象的 API 操作
封闭对象: 无法添加、删除、修改属性值,也不能修改对象的属性特征。自动修改属性特征 writable: false,configurable: false
更新于:18天前// 冻结对象
Object.freeze(user)
// 判断对象有没有被冻结 true 已冻结
if (!Object.isFrozen(user)) {
user.site = 'add'
user.name = 'update'
delete user.age
}
赞一波!
相关文章
- 【说站】python vim中有哪些对象
- 使用.NET SDK Betalgo调用OpenAI ChatGPT API 代码示例
- JS 函数中的 arguments 类数组对象
- CSS font-family 属性设置字体
- uniapp 中的交互反馈 API【提示框】
- 对象拷贝: 浅拷贝、深拷贝
- flex 弹性布局常用属性
- 初识: 对象的属性特征
- 通过工厂函数、构造函数创建对象
- 获取ip信息的api有哪些?
- JavaScript Array 对象高阶方法 some、filter、indexOf
- 微信商户号 API 密钥、API 证书配置
- js 遍历数组、对象的几种方式
- 接口文档 API 调试、管理工具
- 腾讯云对象存储COS及CDN加速配置
- 阿里云对象存储OSS及CDN加速配置
- CSS 边框属性总结
- TP6.0 获取请求对象的五种方式
- Vue2 计算属性 computed【初识】
- PHP对象传值 - 引用传值
文章评论
评论问答