typeof
- 顾名思义,英文直译过来就是,
类型属于
,当然就知道是用来判断类型的 - 不是驼峰连接
- 可
typeof operand
/typeof(operand)
,加不加括号随意。不加括号默认读取右侧第一个变量。 - 返回的是字符串
- 注意
typeof null === 'object';
- 除 Function 外的所有构造函数的类型都是 ‘object’
typeof正则表达式
, es5之后都是object,之前的可能是function- 在es5之前 typeof永不报错,永远返回一个字符串;但是加入了块级作用域的 let 和 const 之后,在其被声明之前对块中的
let
和const
变量使用typeof
会抛出一个 ReferenceError。
类型 | 结果 |
---|---|
Undefined | "undefined" |
Null | "object" (见下文) |
Boolean | "boolean" |
Number | "number" |
BigInt(ECMAScript 2020 新增) | "bigint" |
String | "string" |
Symbol (ECMAScript 2015 新增) | "symbol" |
宿主对象(由 JS 环境提供) | 取决于具体实现 |
Function 对象 (按照 ECMA-262 规范实现 [[Call]]) | "function" |
其他任何对象 | "object" |