容易出错的“布尔值”判断

基本类型中的布尔类型,取值只有true和false,但是在某些布尔值判断的情况下容易出错,在看书回顾旧知识点的时候,顺便也给总结了一些,若有不足,欢迎更正和补充!

1、空字符串 “”

这里写图片描述

2、数字 0

这里写图片描述

3、null

这里写图片描述

4、undefined

这里写图片描述

5、数字NaN

这里写图片描述

注意

1、NaN不等于任何东西,包括它自己

这里写图片描述

2、undefined 与 null 在 == 判断时为true

这里写图片描述


以上列举出来的都是容易判断错误的,并且也是特别不明显的很可能造成bug的几点。例如,在实际工作中,我们可能会遇到以下情况:

var a = testBoolean || 22;
console.log(a)

这行代码的意思是,如果testBoolean已经存在并且有值,那么a就等于testBoolean的值,否则,a等于22。
正常情况下都不会出错,但如果testBoolean的值为上述举例的5种之一或false,那么结果就不是我们想要的了。

var testBoolean = 0;
var a = testBoolean || 22;
console.log(a) //结果为:22

所以当我们在实际使用过程中,要小心这5类判断,考虑全面,避免产生不必要的bug。


参考书籍:
JavaScript面向对象编程指南(第2版)


版权声明:本文为mm19931027原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。