由于JS是弱类型语言,判断一个变量的数据类型是一个很常见的需求。
下面介绍一些常用的判断方法:
typeof操作符
typeof
可以用来判断除了``null的基本数据类型和
function,其它引用数据类型都会返回
object`。
console.log(typeof "Hello"); // "string"
console.log(typeof 42); // "number"
console.log(typeof true); // "boolean"
console.log(typeof undefined); // "undefined"
console.log(typeof function(){}); // "function"
console.log(typeof null); // "object" (这是一个历史遗留的bug)
console.log(typeof []); // "object"
为什么typeof null会返回object ?
在JS的最初版本中,使用32位二进制表示栈中的变量,二进制的前三位为类型标识tag,当前三位都是0时,表示object类型。但是null被设计为32位二进制都是0,因此会被错误地识别为object类型。
由于这个错误影响范围很大,后期并没有被修复。
标签:function,判断,return,Object,数据类型,value,JS,toString,prototype From: https://www.cnblogs.com/feixianxing/p/18277080/js-type-checking-methods-explained