在 ES6 有 7 种基本数据类型:undefined、null、Boolean、String、Number、Object、Symbol
undefined(未定义):表示变量未初始化,属性不存在,函数没有返回值
null(空值):表示变量为空值
Boolean(布尔值):true 或 false
String(字符串):单引号字符串 ‘’ 或 双引号字符串 “”
Number(数值):范围 [-2^53, 2^53]
Object(对象):表示属性的集合,其中每个属性由“名/值对”构成
Symbol(符号):表示独一无二(ES6 新增)
Symbol是由ES6规范引入的一项新特性,它的功能类似于一种标识唯一性的ID。通常情况下,我们可以通过调用Symbol()函数来创建一个Symbol实例:
let s1 = Symbol()
或者,你也可以在调用Symbol()函数时传入一个可选的字符串参数,相当于给你创建的Symbol实例一个描述信息:
let s2 = Symbol(‘another symbol’)
如果用当下比较流行的TypeScript的方式来描述这个Symbol()函数的话,可以表示成:
/**
- @param {any} description 描述信息。可以是任何可以被转型成字符串的值,如:字符串、数字、对象、数组等
*/
function Symbol(descr