老师,symbol.for这里的用法是不是有点类似于es5这样的用法?

来源:3-10 Symbol用法

沧海的雨季

2019-03-24

图片描述

var a={};
var b=a;
写回答

2回答

兮漫天

2019-04-17

不是这么理解的哈;

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的第七种数据结构!


0
1
沧海的雨季
非常感谢!
2019-04-17
共1条回复

快乐动起来呀

2019-03-25

我没理解问题的点是什么?Symbol.for和ES5有什么关系呢?

0
0

ES6零基础教学 解析彩票项目

ES6从零开始,量身设计的迷你案例,让你全面掌握ES6

2579 学习 · 881 问题

查看课程