Symbol


Symbol:新数据类型,不能new
Symbol()作为对象的属性名,其唯一性保证属性名不会冲突

区分属性名,可以加标记
Symbol("qwertyu")

Symbol.for(str),用于在全局注册str名字,注册之前,先从全局查找是否已注册,未注册时才能注册成功,如果已注册,则使用注册过的

Symbol.keyFor(s),取Symbol.for参数

例如:

let s=Symbol.for("b")
console.log(Symbol.keyFor(s)) //b
let obj={}
for(let i=0;i<10;i++){
    obj[Symbol("a")]=i;
    obj[Symbol.for("b")]=i
}
obj={
  Symbol(a): 0,
  Symbol(a): 1,
  Symbol(a): 2,
  Symbol(a): 3,
  Symbol(a): 4,
  Symbol(a): 5,
  Symbol(a): 6,
  Symbol(a): 7,
  Symbol(a): 8,
  Symbol(a): 9,
  Symbol(b): 9
}
posted @ 2022-09-20 17:13  孟仔  阅读(137)  评论(0)    收藏  举报