Symbol难道叫它 符号型?(^▽^)

来源:3-10 Symbol用法

心有猛虎_细嗅蔷薇

2017-05-25

Symbol是ES6引入新的一种原始类型的值,即第七种数据类型。

它是为了解决 保证每个属性的名字都是独一无二,防止属性名的冲突 而诞生的。

那问题来了~

老师能不能举一两个易懂的例子让我们加深下对这个作用的理解,在什么实际项目中,对象的属性名就发生冲突了?


还有像其他数据类型:"false | true"一看就是布尔值(Boolean)、"a b c "一看就是字符串(String)、var obj = {} 一看就是对象(Object),那如何在不用Symbol函数声明的情况下,一眼看出它是 Symbol 数据类型?

写回答

2回答

快乐动起来呀

2017-05-25

举一个最简单的例子哈,a.js定义了一个全局变量a=1; b.js也定义了一个全局变量a=1;那么a这个属性就会冲突,肯定是被覆盖了。如果用Symbol定义就不会冲突了。至于说能不能一眼看出来,我可以说一眼看不出来的那个就是嘛,哈哈

0
1
心有猛虎_细嗅蔷薇
老师真幽默。经您一点拨,发现有点类似 namespace命名空间的用法,也是解决 使用相同类名而引起冲突 的问题。
2017-05-26
共1条回复

心有猛虎_细嗅蔷薇

提问者

2017-05-26

demo 如下:

//szimg.mukewang.com/5927740900015daa18970657.jpg


0
0

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

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

2579 学习 · 881 问题

查看课程