老师,symbol.for这里的用法是不是有点类似于es5这样的用法?
来源:3-10 Symbol用法

沧海的雨季
2019-03-24
var a={};
var b=a;
写回答
2回答
-
不是这么理解的哈;
var a = {} 这是显式的申明了一个字面量对象
然后 var b = a; 等于又把这个对象通过变量的形式 引用给了 b;
例子:
var a = {};
var b = a;
b.age = 22;
console.log(a === b); 结果// true
console.log(a.age); 结果// 22
--------------- 分割线 ---------------
但是symbol.for 这个API的目的是用来解决 symbol数据独一无二这个问题的!symbol不可重复去设置,每申明一个 symbol 就会创建一个新的 symbol 类型
但是 symbol.for 它对比 symbol的区别在于,它存在一个类似于缓存的机制,会把 第一次申明的存储下来,当第二次去申明的时候,它会先去找,是否存在,如果存在,那么它就会直接使用之前的(类似于上面的那种引用的结果),但是在本质上是不同的!这是我的理解,希望可以帮到你!
本质上确实如老师所说,跟ES5的用法没任何关系!它是一个新的数据结构!也是ECMAScript的第七种数据结构!
012019-04-17 -
快乐动起来呀
2019-03-25
我没理解问题的点是什么?Symbol.for和ES5有什么关系呢?
00
相似问题