关于typeof

typeof 作为操作符返回一个字符串,表示未经过计算的操作数的类型

语法typeof运算符后面跟操作数:

typeof operand

or

typeof (operand)

operand是一个表达式,表示对象或原始值,其类型将被返回,括号是可选的.

类型

结果

Undefined

"undefined"

Null

"object"(见下文)

Boolean

"boolean"

Number

"number"

String

"string"

Symbol (ECMAScript 6 新增)

"symbol"

宿主对象(由JS环境提供)

Implementation-dependent

函数对象([[Call]] 在ECMA-262条款中实现了)

"function"

任何其他对象

"object"

注意:

// 下面的容易令人迷惑,不要使用!
typeof new Boolean(true) === 'object';
typeof new Number(1) === 'object';
typeof new String("abc") === 'object';
当用“new”关键字实例化时,所有构造函数的类型总是“object
但是javascript的函数构造函数有一个异常
var func = new Function();
 
typeof func; // It will return 'function'
 
原文地址:https://www.cnblogs.com/yqycr7/p/11334867.html