介绍
1.它是ES6引进的一种新的原始的数据类型,表示独一无二的;
它是javaScript引进的第七种数据类型,前六种分别是:
Number、String、Boolean、Object、null、undefined
2.它的值是通过Symbol函数生成
let s = Symbol(n); // 值由Symbol生成,且不能用new来new出实例,负责会报错
三个知识点实例
1.根据Symbol独一无二的特性,每次给它传相同的值,所得到的值是不一样的;
let s1 = Symbol("name");
let s2 = Symbol("name");
s1 === s2 // false
s1 == s2 // false
2.Symbol数据类型不能和其它数据类型进行计算,会报错
let sy = Symbol("Mr Zhao"); // Symbol(Mr Zhao)
let val = "my name is" + sy; // 报错
3.Symbol数据类型可转换成String数据类型和Boolean数据类型
3.1 Symbol可以显式的转成字符串
let sym = Symbol("Mr Zhao");
let symString = String(sym) || sym.toString();
symString // 'Symbol(Mr Zhao)'
3.2 Symbol转为Boolean类型
let s = Symbol("Mr Zhao");
Boolean(s) // true
!s // false