symbol基本使用
es6引用了新的数据类型symbol,表示独一无二,是js的第七种数据类型,类似于字符串
特点:
- 值是唯一的,解决命名冲突
- 值不能与其他数据类型计算 (+ - * /)
- symbol定义的对象不能循环遍历 可以使用reflect.ownKeys获取对象所有键名
创建symbol:
let s = Symbol('abc');
let s2 = Symbol('abc');
console.log(s===s2) //false
let ss = Symbol.for('abc');
let ss2 = Symbol.for('abc');
console.log(ss === s2) //true
let result = s + 100 //报错 不能进行计算
七种数据类型:
USONB
u:undefined 未定义
s:string symbol
o:object
n:null number
b:boolean