JavaScript之数据类型
原始类型(primitive type)
原始类型的值是存储在栈(stack)中的简单数据段,也就是说,它们的值直接存储在变量访问的位置。
针对变量或值检测是否是原始类型可以使用typeof
运算符
- undefined - 如果变量是 Undefined 类型的
- boolean - 如果变量是 Boolean 类型的
- number - 如果变量是 Number 类型的
- string - 如果变量是 String 类型的
- object - 如果变量是一种引用类型或 Null 类型的
Undefined
Undefined 类型只有一个值,即 undefined。当声明的变量未初始化时,该变量的默认值是 undefined。
var tmp;
console.log(tmp);// undefined
console.log(typeof tmp);// undefined
Null
另一种只有一个值的类型是 Null,它只有一个专用值 null,即它的字面量。值 undefined 实际上是从值 null 派生来的
console.log(null);// null
console.log(typeof null);// object
Boolean
Boolean 类型是最常用的类型之一。它有两个值 true 和 false (即两个 Boolean 字面量)。
即使 false 不等于 0,0 也可以在必要时被转换成 false,这样在 Boolean 语句中使用两者都是安全的。
var tmp=false;
console.log(tmp);// false
console.log(tmp==0);// true
console.log(tmp===0);// false
Number
ECMA-262 中定义的最特殊的类型是 Number 类型。这种类型既可以表示 32 位的整数,还可以表示 64 位的浮点数。
直接输入的(而不是从另一个变量访问的)任何数字都被看做 Number 类型的字面量。
console.log(typeof 88);// number
String
引用类型(class)
引用类型的值是存储在堆(heap)中的对象,也就是说,存储在变量处的值是一个指针(point),指向存储对象的内存处。
- Object类:对象
- Array:数组
- Function:函数