JavaScript 对象属性配置、保护及代理全解析
1. 对象属性特性
我们对对象属性已有一定了解,知道其有键(可以是字符串或符号)和值(可以是任何类型),无法保证对象属性的顺序,有两种访问对象属性的方式(点表示法和方括号计算成员访问),以及三种在对象字面量表示法中创建属性的方式(键为标识符的常规属性、允许非标识符和符号的计算属性名、方法简写)。
不过,属性还有控制其在所属对象上下文中行为的特性。我们可以用已知技术创建属性,再用 Object.getOwnPropertyDescriptor 检查其特性:
const obj = { foo: "bar" };
Object.getOwnPropertyDescriptor(obj, 'foo');
上述代码会返回:
{ value: "bar", writable: true, enumerable: true, configurable: true }
属性特性、属性描述符和属性配置这几个术语可互换使用,它们都指同一事物。属性有以下三个特性:
- 可写性(Writable) :控制属性值是否可更改。
- 可枚举性(Enumerable) :控制在枚举对象属性(使用 for...in 、 Object.keys
JavaScript对象属性与代理详解
超级会员免费看
订阅专栏 解锁全文
1297

被折叠的 条评论
为什么被折叠?



