JavaScript的数据类型分为两类:原始类型(primitive type)和对象类型(object type)。JavaScript中的原始类型包括数字、字符串和布尔值,还有两个特殊的原始值:null(空)和undefined(未定义)它们通常代表各自特殊类型的唯一的成员。除了这些之外就是对象类型,对象是属性的集合,每个属性都由”名/值对”构成。数组、函数、日期、正则和错误都是对象类型。
原始类型(基本数据类型)是按值访问的,因为可以直接操作保存在变量中的实际值;
对象类型(引用类型数据)的值是按引用访问的,因为JavaScript不允许直接访问内存中的位置,也就是说不能直接操作对象的内存空间。在操作对象时,实际上是在操作对象的引用而不是实际的对象
JavaScript的类型还可分为可变(mutable)类型和不可变(immutable)类型。对象和数组属于可变类型:JavaScript程序可以更改对象属性值和数组元素的值。数字、布尔值、字符串、null和undefined属于不可变类型。