ES6第七种数据类型-----Symbol
已经有的6种数据类型: Undefined
,Null
,布尔值
,字符串
,数值
,对象
,现在ES6新加入一种数据类型——Symbol
. 我们先来看看它的最大特点: 独一无二。
// 没有参数的情况 var s1 = Symbol(); var s2 = Symbol(); s1 === s2 // false // 有参数的情况 var s1 = Symbol("foo"); var s2 = Symbol("foo"); s1 === s2 // false
这里的'foo'是该Symbol的一个描述,但是并非两个参数都为'foo' ,就能够使得这两个Symbol相同。
而是事实上我们不想对triangle去特地取个名,我们只想要区分triangle这个形状不同于任何其他形状,那么这个时候Symbol就派上用场啦!
const shapeType = { triangle: Symbol() };
发现了吗? 也就是说,我们不用非要去给变量赋一个字符串的值,去区分它和别的变量的值不同,因为去给每个变量取个语义化而又不同的值是一件伤脑子的事,当我们只需要知道每个变量的值都是百分百不同的即可,这时候我们就可以用Symbol。