Js 的 typeof 返回值

时间:2025-01-20 13:36:22

摘自:/lidabo/archive/2011/12/29/

js中的typeof是一个运算符,一元运算。

typeof sth

不需要加括号的。
返回值是一个字符串,说明运算数的类型。

typeof 1;

typeof NaN;

typeof Number.MIN_VALUE;

typeof Infinity;

typeof "123";

typeof true;

typeof window;

typeof document;

typeof null;

typeof eval;

typeof Date;

typeof sss;

typeof undefined;

typeof是一个一元运算符,它返回的结果 始终是一个字符串,对不同的操作数,它返回不同的结果。
具体的规则如下:

number

对于数字类型的操作数而言, 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。

string

typeof "123"

boolean

typeof true

object

对于对象、数组、null返回的值是object。
比如说

typeof window
typeof document
typeof null

function

对于函数类型,返回的值是function.

typeof eval
typeof Date

undefined

如果运算数是没有定义的(不存在的变量、函数或者undefined等),将返回undefined

typeof sss
typeof undefined