JavaScript 符号(Symbols)及其属性深度解析
1. 使用符号(Symbols)
在 JavaScript 里,符号(Symbols)能在任何可使用计算属性名的地方使用。可以在计算对象字面量属性名、 Object.defineProperty() 和 Object.defineProperties() 调用中使用符号。示例代码如下:
let firstName = Symbol("first name");
// 使用计算对象字面量属性
let person = {
[firstName]: "Nicholas"
};
// 使属性只读
Object.defineProperty(person, firstName, { writable: false });
let lastName = Symbol("last name");
Object.defineProperties(person, {
[lastName]: {
value: "Zakas",
writable: false
}
});
console.log(person[firstName]); // "Nicholas"
console.log(person[lastName]); // "Zakas"
上述代码先利用计算对象字面量属性创建了 firstName 符号属性,该属性是非可枚举的,这与使用非符号名称创建的计算属性不同。接着将该属性设为只读
超级会员免费看
订阅专栏 解锁全文
27

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



