ECMAScript标准定义了7种数据类型 6种基本数据类型（除String，占 8 bytes） Boolean 可以有两个值:true、false Null 只有一个值:null Undefined 一个没有被赋值的变量会有个默认值 undefined Number 基于IEEE 754标准的双精度 64 位二进制格式的值 没有为整数给出一种特定的类型，除了能够表示浮点数外，还有一些带符号的值： +Infinity，-Infinity 和 NaN (非数值，Not-a-Number) 要检查值是否大于或小于 +/-Infinity，可以使用常量 Number.MAX_VALUE 和 Number.MIN_VALUE 另外在 ECMAScript 6 中，也可以通过 Number.isSafeInteger() 方法还有 Number.MAX_SAFE_INTEGER 和 Number.MIN_SAFE_INTEGER 来检查值是否在双精度浮点数的取值范围内 String Symbol (ECMAScript6新定义) 可以用来作为Object的key的值，也可以认为它是C里面的枚举类型 1种复杂数据类型（引用类型） Object 基础对象 Array Date RegExp String Number Boolean Math Arguments(函数参数集合) Error(异常对象) Function(函数构造器) (null)(不完全算对象) typeof 返回类型小写(number string boolean undefined object function) typeof返回值为string类型，引用类型中，除function的对象都是object类型 String Number Date 首字母大写的都是构造函数 两个空的类型 null undefined null是一个表示"无"的对象，转为数值时为0；undefined是一个表示"无"的原始值，转为数值时为NaN null表示"没有对象"，即该处不应该有值 undefined表示"缺少值"，就是此处应该有一个值，但是还没有定义 （1）值类型：数值、布尔值、null、undefined （2）引用类型：对象、数组、函数