美文网首页
布尔运算符

布尔运算符

作者: 小木鱼的笔记 | 来源:发表于2019-01-19 09:53 被阅读0次

一、概述
布尔运算符用于将表达式转为布尔值,一共分为四个运算符:

  • 取反运算符!
  • 且运算符&&
  • 或运算符||
  • 三元运算符?:

二、取反运算符:
1、取反运算符用于将布尔值变为相反值,对于非布尔值,取反运算符会将其转为布尔值。

!true //false
!false //true

2、以下六个值取反后为true,其他值都为false。
undefined,null,NaN,0,''(空字符串),false。
三、 且运算符和或运算符
1、且运算符和或运算符往往用于多个表达式的求值。
2、运算规则:

  • 且运算符可以多个连用,这时返回第一个布尔值为false的表达式的值,不再执行后面的表达式。如果所有表达式的布尔值都为true,则返回最后一个表达式的值。
  • 或运算符可以多个连用,这时返回第一个布尔值为true的表达式的值,不再执行后面的表达式。如果所有表达式的布尔值都为false,则返回最后一个表达式的值。

3、短路

var x = 1;
(1 - 1) && ( x += 1) // 0
x // 1

var x = 1;
(1 + 1) || ( x += 1) // 2
x // 1

这种只通过第一个表达式的值,控制是否运行第二个表达式的机制,就称为“短路”(short-cut)。
4、可能的使用

  • 且运算符的"短路"被有些程序员用于取代if结构,比如下面是一段if结构的代码,就可以用且运算符改写。
if (i) {
  doSomething();
}

// 等价于
i && doSomething();

上面代码的两种写法是等价的,但是后一种不容易看出目的,也不容易除错,建议谨慎使用。

  • 或运算符常用于为一个变量设置默认值。
function saveText(text) {
  text = text || '';
  // ...
}

// 或者写成
saveText(this.text || '')

上面代码表示,如果函数调用时,没有提供参数,则该参数默认设置为空字符串。
四、三元运算符
三元条件运算符由问号(?)和冒号(:)组成,分隔三个表达式。它是 JavaScript 语言唯一一个需要三个运算子的运算符。如果第一个表达式的布尔值为true,则返回第二个表达式的值,否则返回第三个表达式的值。

't' ? 'hello' : 'world' // "hello"
0 ? 'hello' : 'world' // "world"

上面代码的t和0的布尔值分别为true和false,所以分别返回第二个和第三个表达式的值。
通常来说,三元条件表达式与if...else语句具有同样表达效果,前者可以表达的,后者也能表达。但是两者具有一个重大差别,if...else是语句,没有返回值;三元条件表达式是表达式,具有返回值。所以,在需要返回值的场合,只能使用三元条件表达式,而不能使用if..else。

相关文章

  • 05运算符

    算术运算符 关系元算符 布尔运算符 字符串运算符 文件测试运算符 算术运算符 关系运算符 布尔运算符 逻辑运算符 ...

  • 02+03流程图和函数

    02Flow control 流程图,布尔值,比较运算符,布尔运算符 Boolean value 布尔值Unlik...

  • (四)Java中的运算符和表达式

    算数运算符:+,-,*,/,++,--;关系运算符:>,<,>=,<=,==,!=布尔逻辑运算符:!,&,|,^,...

  • 运算符

    运算符 逻辑运算符 与语法:布尔值(表达式) && 布尔值(表达式) 或语法:布尔值(表达式) || 布尔值(表达...

  • 布尔运算符

    一、概述布尔运算符用于将表达式转为布尔值,一共分为四个运算符: 取反运算符! 且运算符&& 或运算符|| 三元运算...

  • Python运算符

    算术运算符 逻辑运算符 比较运算符 布尔值 乘方 ** 求数 / 求商 // in

  • 2.29丨逻辑与运算符

    布尔类型 Booleans True False比较:等于运算符(==)、大于运算符(>)、小于运算符(<)、大于...

  • JavaScript——布尔值

    原始布尔类型包含值true和false。以下运算符产生布尔值: 二进制逻辑运算符:&&(And),||(Or) 前...

  • 比较运算符

    比较运算符(相等的运算符 ==) 布尔类型 Python 中的另一种类型是布尔类型。有两个布尔值:True 和 F...

  • Shell 运算符

    Shell 支持多种运算符,如下: 算术运算符 关系运算符 布尔运算符 字符串运算符 文件测试运算符 算术运算符 ...

网友评论

      本文标题:布尔运算符

      本文链接:https://www.haomeiwen.com/subject/wzjadqtx.html