ES6中的Symbol,独一无二的值
ES6 引入了一种新的原始数据类型Symbol
,表示独一无二的值。它属于 JavaScript 语言的原生数据类型之一,其他数据类型是:undefined
、null
、布尔值(Boolean)、字符串(String)、数值(Number)、大整数(BigInt)、对象(Object)。
1、Symbol 是一种全新的js 数据类型 , 使用Symbol()来生成具体的值;其实,这种模式类似于生成一个随机数。
2、Symbol 作用是全局里面生成独一无二的key,以免和其他地方冲突,比如全局的缓存,或者vue中provide及inject 中需要用到key的时候,这个时候用到这个Symbol最有用了,能够确保key不重复,当然你使用的时候是声明一个变量指向一个Symbol,然后定义和使用的时候都使用这个变量,就能保证全局不会冲突!
使用地方:
1、全局缓存需要的key
2、vue3的provide 和inject 里面用到,也是key。
3、消除魔术字符串(魔术字符串的意思是页面里面有很多地方用到同一个字符串,那么就需要全局定义一个对象指向这个字符串)。