翼度科技»论坛 编程开发 JavaScript 查看内容

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

7

主题

7

帖子

21

积分

新手上路

Rank: 1

积分
21
由于JS是弱类型语言,判断一个变量的数据类型是一个很常见的需求。
下面介绍一些常用的判断方法:
typeof操作符

typeof可以用来判断除了``null的基本数据类型和function,其它引用数据类型都会返回object`。
  1. console.log(typeof "Hello"); // "string"
  2. console.log(typeof 42); // "number"
  3. console.log(typeof true); // "boolean"
  4. console.log(typeof undefined); // "undefined"
  5. console.log(typeof function(){}); // "function"
复制代码
  1. console.log(typeof null); // "object" (这是一个历史遗留的bug)
  2. 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】 我们会及时删除侵权内容,谢谢合作!

举报 回复 使用道具