简谈 JavaScript 中的数据类型
为什么要突然说起 JavaScript(后面简称 “JS”) 的数据类型呢?因为最近在看书的时候发现,JS 的数据类型相比其他语言,比如 Java,C++ 等面向对象的高级语言来说,显得十分简洁,却又十分灵活。JS 是一种轻量级的“解释型”语言,它虽然不支持类,但却提供了比类更加强大的和灵活的语言特性。
JS 的数据类型十分简洁,简单数据类型只有 undefined
、null
、boolean
、number
和 string
五种。而复杂数据类型只有一种,即 object
。在 JS 中,代码只体现为一种形式,即 function
。
为了进一步的简化编程,JS 还在这些简单数据之上,又规定了一些特殊含义。比如:undefined
、null
、“”
、0
这四个值转换为逻辑值是就是 false
,除此之外的其他类型均为 true
。而在这五个类型中,除了 undefined == null
成立之外,其他的又互不相等。
在 JS 中,“==” 表示不全等,即虽然类型不同,但只要值能够相互转换即可,比如 “123” == 123
,而 “===” 则表示全等的概念。即数据类型及数据的值均要相等,所以 undefined == null
返回 true
,而 undefined === null
则返回 false
。
因此,这里如果用 typeof
运算符来表示 “!==”,即不全等,则可以表示为:
A != B || typeof(A) != typeof(B);
同理,如果要表示全不等,可表示为:
A != B && typeof(A) != typeof(B);
评论 | Comments