js 使用Object.defineProperty为对象定义属性
使用Object.defineProperty为对象添加属性
let person = {name:'name',sex:'male'};
Object.defineProperty(person,'age',{value:18});
- 默认不会被枚举,使用Object.keys(person)将获得[‘name’,‘sex’]。以下写法使之可枚举
Object.defineProperty(person,'age',{value:18,enumerable:true});
- 默认不可修改,使用person.age=19无法修改属性值。以下写法使之可改
Object.defineProperty(person,'age',{value:18,writable:true});
- 默认不可删除,使用delete person.age无法删除属性。以下写法使之可删
Object.defineProperty(person,'age',{value:18,configurable:true});
- 实现属性读写器
let number = 18;
Object.defineProperty(person,'age',{
get() {
return number;
},
set(value) {
number = value;
}
});
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· Vue3状态管理终极指南:Pinia保姆级教程
2020-04-11 spring 启动时自动运行
2020-04-11 spring cloud oauth2授权服务 默认tokenService配置源码
2020-04-11 spring cloud 搭建oauth2授权服务 使用redis存储令牌
2020-04-11 spring cloud oauth2授权服务 clientDetails配置源码
2020-04-11 spring 验证框架
2020-04-11 IDEA 插件整理
2020-04-11 spring security笔记 默认登陆页面源码