布尔运算符

一、概述

布尔运算符用于将表达式转为布尔值,一共包含四个运算符。

  • 取反运算符:!

  • 且运算符:&&

  • 或运算符:||

  • 三元运算符:?:

二、具体描述

1.取反运算符(!)

取反运算符是一个感叹号,用于将布尔值变为相反值,即true变成falsefalse变成true

对于非布尔值,取反运算符会将其转为布尔值。可以这样记忆,以下六个值取反后为true,其他值都为false

  • undefined

  • null

  • false

  • 0

  • NaN

  • 空字符串(''

如果对一个值连续做两次取反运算,等于将其转为对应的布尔值,与Boolean函数的作用相同。这是一种常用的类型转换的写法。

!!x
等价于
Boolean(x)

 

2.且运算符(&&)

且运算符(&&)往往用于多个表达式的求值。

它的运算规则是:如果第一个运算子的布尔值为true,则返回第二个运算子的值(注意是值,不是布尔值);如果第一个运算子的布尔值为false,则直接返回第一个运算子的值,且不再对第二个运算子求值

*一旦遇到false就返回,若未遇到则返回最后一个值 

if (i) {
  doSomething();
}// 等价于
i && doSomething();

 

4、或运算符(||)

或运算符(||)也用于多个表达式的求值。它的运算规则是:如果第一个运算子的布尔值为true,则返回第一个运算子的值,且不再对第二个运算子求值;如果第一个运算子的布尔值为false,则返回第二个运算子的值。

*一旦遇到true就返回,若未遇到则返回最后一个值 

5、三元条件运算符(?:)

三元条件运算符由问号(?)和冒号(:)组成,分隔三个表达式。它是 JavaScript 语言唯一一个需要三个运算子的运算符。如果第一个表达式的布尔值为true,则返回第二个表达式的值,否则返回第三个表达式的值。

猜你喜欢

转载自blog.csdn.net/DengZY926/article/details/83006611