typeof 是一个一元运算,放在一个运算数之前,运算数可以是任意类型。
它会返回一个字符串,该字符串说明运算数的类型。
typeof 返回值有六种可能:"number"、"string"、"boolean" 、"object"、"function" 和 "undefined "。
详解:
typeof 返回的值是 number。比如说:typeof(1),返回的值就是 number。
上面是举的常规数字,对于非常规的数字类型而言,其结果返回的也是 number。
比如 typeof(NaN),NaN 在 JavaScript 中代表的是特殊非数字值,虽然它本身是一个数字类型。
在 JavaScript 中,特殊的数字类型还有几种:
Infinity | 表示无穷大特殊值 |
NaN | 特殊的非数字值 |
Number.MAX_VALUE | 可表示的最大数字 |
Number.MIN_VALUE | 可表示的最小数字(与零最接近) |
Number.NaN | 特殊的非数字值 |
Number.POSITIVE_INFINITY | 表示正无穷大的特殊值 |
Number.NEGATIVE_INFINITY | 表示负无穷大的特殊值 |
以上特殊类型,在用 typeof 进行运算时,其结果都将是 number。
typeof 返回的值是 string。比如 typeof("123") 或者 typeof “123”,返回的值是 string。
typeof 返回的值是 boolean 。比如 typeof(true),typeof(false) 的返回的值是 boolean。
对于对象、数组、null,返回的值是 object 。比如 typeof(window),typeof(document),typeof(null) 返回的值都是 object。
返回的值是 function。比如:typeof(eval),typeof(Date) 返回的值是 function;
如果运算数是没有定义的(比如说不存在的变量、函数或者undefined),将返回 undefined。比如:typeof(sss)、typeof(undefined) 的返回值是 undefined;
注:typeof Object 和 typeof Array 的返回值是 function ,因为对象都是通过函数创建的。