一家一口田 发表于 2024-7-1 05:31:19

[JS] 数据类型与特殊值的判断方法

由于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"<blockquote>为什么typeof null会返回object ?
在JS的最初版本中,使用32位二进制表示栈中的变量,二进制的前三位为类型标识tag,当前三位都是0时,表示object类型。但是null被设计为32位二进制都是0,因此会被错误地识别为object类型。
由于这个错误影响范围很大,后期并没有被修复。


来源:https://www.cnblogs.com/feixianxing/p/18277080/js-type-checking-methods-explained
免责声明:由于采集信息均来自互联网,如果侵犯了您的权益,请联系我们【E-Mail:cb@itdo.tech】 我们会及时删除侵权内容,谢谢合作!
页: [1]
查看完整版本: [JS] 数据类型与特殊值的判断方法