任意值在typeof运算后的返回值
x | typeof x |
---|---|
undefined | "undefined" |
null | "object" |
true或false | "boolean" |
任意数字或NaN | "number" |
任意字符串 | "string" |
任意函数 | "function" |
任意内置对象(非函数) | "object" |
任意宿主对象 | 由编译器各自实现的字符串,但不是"undefined"、"boolean"、"number"或"string" |
typeof最常用的用法是写在表达式中
(typeof value == "string") ? " ' " + value + " ' " : value
当操作数是null的时候,typeof将返回"object"。
如果想将null和对象区分开,则必须针对特殊值显式检测。对于宿主对象来说,typeof有可能并不返回"object",而返回字符串,但实际上客户端js中的大多数宿主对象都是"object"类型。
网友评论