symbol数据类型

symbol

es5 中对象属性名都是字符串 容易造成命名冲突,污染环境

  • symbol 属性对应的值是唯一的,解决命名冲突
  • symbol 值不能与其他的数据进行计算,包括同字符串拼串
  • for in , for of 遍历时 不会遍历symbol属性
const symbol = Symbol()
const symbol2 = Symbol()
console.log(symbol, type of symbol)
console.log(symbol === symbol2) // symbol每次产生的值都是唯一的,缺点不知道标识,可以传
const symbol3 = Symbol(‘hahaha’)

列子
const p = {
  [symbol]: '1',
  [symbol2]: 222
}

console.log(symbol+1) // 不能计算
// symbol 属性不能被for in 遍历出来

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容