第六章 符号与符号属性
《深入理解ES6》—— Nicholas C. Zakas
1. 概述
let id = Symbol('id');
let person = {
[id]: '001'
};
person[id]; // 001
const symbols = Object.getOwnPropertySymbols(person);
symbols; //=> [Symbol(id)]
用于创建一个唯一的属性名,避免重名的属性名
2. 总结
符号是JS新引入的基本类型值,它用于创建不可枚举的属性,
并且这些属性在不引用符号的情况下是无法访问的。
虽然符号类型的属性不是真正的私有属性,但它们难以被无意修改,
因此在需要提供保护以防止开发者改动的场合中,它们非常合适。