当我们说对象属性键可以是字符串类型,也可以是符号类型。不是数字,不是布尔,只是字符串或符号。这意味着什么。
答案 0 :(得分:2)
Symbol是ES2015中引入的新原始类型。它们与其他类型(字符串,数字,对象)不同。每个符号都是独特的。它们可以选择具有字符串描述,但同样,它们不是字符串。它们的主要好处是保证它们是唯一的,不像使用字符串键,它可能与同一对象上使用相同字符串键的其他代码冲突。
例如:
const s = Symbol();
const o = {[s]: "foo"};
console.log(o[s]); // "foo"

更多on MDN。
注意:您可以找到很多资源,而且确实在这里回答说符号提供隐私。他们没有。完全没有。一点儿都没有。任何引用该对象的人都可以读取其所有属性,包括符号命名的属性。