ECMAScript中有5种简单数据类型(也称为基本数据类型):
1. Undefined(该类型只有一个值,即undefined。在使用var声明但未初始化时,这个变量就是undefined)
2. Null(该类型只有一个值,即null。null == undefined)
3. Boolean
4. Number(NaN是一个特殊的Number,Number(), parseInt(), parseFloat()三个函数用于转化数字)
5. String
6. Object(一种
复杂数据类型)
typeof操作符,可以返回下列字符串:
"undefined"
"boolean"
"string"
"number"
"object"
"function"
为何typeof返回的值与ECMAScript定义的数据类型不一致?
从技术角度讲,函数在ECMAScript中是对象,不是一种数据类型。然后,函数也确实有一些特殊的属性,因此通过typeof操作符来区分函数和其他对象是有必要的。同时typeof null返回的是"object"。