typeof 运算符

typeof 运算符将未评估的操作数的数据类型作为字符串返回。

句法:

typeof operand

返回:

这些是 typeof 可能的返回值:

类型 返回值
Undefined undefined
Null object
Boolean boolean
Number number
String string
Symbol(ES6) symbol
Function 对象 function
document.all undefined
主机对象(由 JS 环境提供) 实现相关的
任何其他对象 object

document.alltypeof 运算符的异常行为来自其以前用于检测旧版浏览器的用法。有关更多信息,请参阅为什么 document.all 已定义但 typeof document.all 返回 undefined

例子:

// returns 'number'
typeof 3.14;
typeof Infinity;
typeof NaN;               // "Not-a-Number" is a "number"

// returns 'string'
typeof "";
typeof "bla";
typeof (typeof 1);        // typeof always returns a string

// returns 'boolean'
typeof true;
typeof false;

// returns 'undefined'
typeof undefined;
typeof declaredButUndefinedVariable;
typeof undeclaredVariable;
typeof void 0;
typeof document.all       // see above

// returns 'function'
typeof function(){};
typeof class C {};
typeof Math.sin;

// returns 'object'
typeof { /*<...>*/ };
typeof null;
typeof /regex/;           // This is also considered an object
typeof [1, 2, 4];         // use Array.isArray or Object.prototype.toString.call.
typeof new Date();
typeof new RegExp();
typeof new Boolean(true); // Don't use!
typeof new Number(1);     // Don't use!
typeof new String("abc"); // Don't use!

// returns 'symbol'
typeof Symbol();
typeof Symbol.iterator;