> javascript教程 > javascript基础教程 > 入门篇 >

js判断布尔值的方法|布尔值

布尔值

布尔值代表“真”和“假”两个状态。“真”用关键字true表示,“假”用关键字false表示。布尔值只有这两个值。

下列运算符会返回布尔值:

  • 前置逻辑运算符: ! (Not)
  • 相等运算符:===!====!=
  • 比较运算符:>>=<<=

如果 JavaScript 预期某个位置应该是布尔值,会将该位置上现有的值自动转为布尔值。转换规则是除了下面六个值被转为false,其他值都视为true

  • undefined
  • null
  • false
  • 0
  • NaN
  • ""''(空字符串)

布尔值往往用于程序流程的控制,请看一个例子。

if ('') {
  console.log('true');
}
// 没有任何输出

上面代码中,if命令后面的判断条件,预期应该是一个布尔值,所以 JavaScript 自动将空字符串,转为布尔值false,导致程序不会进入代码块,所以没有任何输出。

注意,空数组([])和空对象({})对应的布尔值,都是true

if ([]) {
  console.log('true');
}
// true

if ({}) {
  console.log('true');
}
// true

常见的javascript布尔类型判断

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。

评论

  • 随机获取
点击刷新
精彩评论

友情链接