//实现ES6 symbol for函数
//实现symbol for 函数(symbol的属性名称是唯一的)
//建立映射,尽量用Map
var map =new Map()
function symbolFor(key){
if(map.has(key)){
return map.get(key)
}else{
keySymbol = Symbol(key)
map.set(key,keySymbol)
return map
}
}
//控制台
symbolFor("Symbol(aaa)")
Map(3) {'a' => 1, 'b' => 2}
symbolFor("Symbol(bbb)")
Map(4) {'a' => 1, 'b' => 2}
{"a" => 1}
{"b" => 2}
{"Symbol(aaa)" => }
{"Symbol(bbb)" => }