通常在以下语句结构中需要判断真假
- if分支语句
- while循环语句
- for里的第二个语句
如
if (boo) { // do something } while (boo) { // do something }
JavaScript中有 6 个值为“假”,这六个值是
- false
- null
- undefined
- 0
- '' (空字符串)
- NaN
这里面 false 本身是布尔类型,其它 5 个则不是。
除了这 6 个外,其它均为“真” ,包括对象、数组、正则、函数等。注意 '0'、'null'、'false'、{}、[]也都是真值 。
虽然这六个值都为“假”,它们之间并非都相等
console.log( false == null ) // false console.log( false == undefined ) // false console.log( false == 0 ) // true console.log( false == '' ) // true console.log( false == NaN ) // false console.log( null == undefined ) // true console.log( null == 0 ) // false console.log( null == '' ) // false console.log( null == NaN ) // false console.log( undefined == 0) // false console.log( undefined == '') // false console.log( undefined == NaN) // false console.log( 0 == '' ) // true console.log( 0 == NaN ) // false
对于“==”,以上得出下列结论
- false 除了和自身比较为 true 外,和 0,"" 比较也为 true
- null 只和 undefined 比较时为 true, 反过来 undefined 也仅和 null 比较为 true,没有第二个
- 0 除了和 false 比较为 true,还有空字符串 ''" 和空数组 []
- 空字符串 '' 除了和 false 比较为 true,还有一个数字 0
当然,对于这一切,查看下规范是最踏实的,ES里的ToBoolean阐述了所有情形
相关:
相关推荐
主要介绍了JavaScript中奇葩的假值应用,需要的朋友可以参考下
JavaScript 是世界上最流行的编程语言...javaScript中有五种空值和假值,分别为false,null,undefined,“”,0。从广义上来说,这五个值都是对应数据类型的无效值或空值。 这五个值的共同点是在执行if语句时都会执行
GPS RTK测量中假值现象预防分析.pdf
在JavaScript中,假值有false、null、0、”“、undefined 和 NaN。 对于NaN的判断,JS提供了函数isNaN()。但是使用isNaN()函数只能判断变量是否非数字,而无法判断变量值是否为NaN。 于是,应用NaN的性质: > NaN ...
JavaScript的假值列表如下, 值 类型 0 Number NaN (非数字) Number ” (空字符串) String false Boolean null Object undefined Undefined以上的值作为判断条件,都将为假值,如: ...
例如,在这种情况中,若flag从真值切换到假值取不到节点是正常的,因为v-if如果为假值,那么该节点不会被渲染。 但如果从假值切换到真值时,也可能取不到节点,这是因为渲染需要时间,通常可以使用$nextTick()...
在JavaScript中也有很多种的”空值”和”假值”,那么它们都有什么共同点和不同点呢? 其实标题里面我已经列出了JavaScript中所有的”空值”和”假值”,除了boolean值本身就是true和false这两种情况外,其它数据...
BOOLEAN :此类型允许任何真或假值或计算结果为真或假的表达式。 STRING :这种简单类型允许任何形式的 JavaScript 字符串(文字或对象)。 CHARACTER :此类型允许长度为 1 的任何形式的 JavaScript 字符串...
在python中and和or返回的值并不是True和false这么简单。虽然他们看上去和c++中的&&和||有些相似。在了解and和or之前,我们先要了解python中的True和False。 在python里面,0、”、[]、()、{}、None为假,其它任何...
众所周知,用在if条件判断语句中,js有六种假值:false, null, undefined, ”, NAN, 0。先来看几个例子: [] === [] NaN === NaN NaN == NaN 0 == [] '' == [] '' == {} [] == undefined {} == [] null == ...
主要介绍了JavaScript undefined及null区别实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
您将用JavaScript对象中的数据替换这些可变字符串值(例如%data%和#)中的子字符串,然后将格式化结果附加或添加到简历中的适当位置。 如果您需要复习JavaScript语法,请转到课程;否则,请转
带有EXISTS谓词的子查询不返回任何数据,只产生逻辑真值“true”或逻辑假值“false”。 若内层查询结果非空,则外层的WHERE子句返回真值 若内层查询结果为空,则外层的WHERE子句返回假值 由EXISTS引出的子查询,其...
二级C考试练习用得着。供大家在准备的考试的分享。
允许在 Prestashop 中随机插入大量产品的实用程序。 用 TL; 博士 使用 Composer 安装依赖项。 修改配置文件,指明要插入的产品数量,修改用于生成分类、特征、产品、图片等的Faker类... 然后启动 bin / run.php ...
招生挑战 2 of 2:井字游戏在这个项目中,您将完成tic-tac-toe游戏... 提示:你知道 JavaScript 的真值和假值吗? NaN是假值,而字符串是真值。 在检查空间的当前值时利用这一点。扩展完成扩展是可选的(但很棒!)。
Lodash原始解析记录 最近工作之余学习了的源码,准备写成一个专题和大家一起分享分享,若有错误的... :紧凑函数创建一个移除了所有假值的数组例如:假,空,0, “”,不确定,以及NaN的都是“假值” :缩小尺寸中的