es6(set与map)

set

===和==的区别

只要记住一件事: === 不做类型转化,只要类型不同,就会返回 false

  • set和map利用===作为判断是否收纳的新元素的依据。
    but,NaN是一个例外
NaN===NaN

返回结果为false,但在set和map中,NaN不可以重复添加

map

  • 对于一个对象而言,key(属性名)只能为字符串,
let op={};
op[name]=13
op//{"": 13}
op["name"]=14
op//{"": 13, name: 14}

但容许类型转换(==)

let obj={}
obj[4]=12
obj//{4:12}
obj['4']=13
obj//{4:13}
  • 对于map而言,key不容许类型转换(===)
let map1=new Map()
map1.set(4,123)
Map(1) {4 => 123}
map1.get(4)//123
map1.get('4')//undefined

你可能感兴趣的:(es6(set与map))