Symbol类型是不可枚举的

const info = {
  [Symbol('a')]: 'b'
}

console.log(info)//{Symbol('a'): 'b'}
console.log(Object.keys(info))//[]

Symbol类型是不可枚举的。Object.keys方法返回对象上的所有可枚举的键属性。Symbol类型是不可见的,并返回一个空数组。 记录整个对象时,所有属性都是可见的,甚至是不可枚举的属性。
这是Symbol的众多特性之一:除了表示完全唯一的值(防止对象意外名称冲突,例如当使用2个想要向同一对象添加属性的库时),您还可以隐藏这种方式对象的属性(尽管不完全。你仍然可以使用Object.getOwnPropertySymbols()方法访问 Symbol。
链接:https://juejin.im/post/5e1830c05188254c461313dc

posted @ 2020-02-18 15:05  Samsara315  阅读(465)  评论(0编辑  收藏  举报