&&和||的操做符妙用(javascript)

前言

&&逻辑与和||逻辑或,它们既能够返回一个布尔值,又能够返回指定操做数的值,这个值是非布尔型的。api

MDN api参考数组

Section1 布尔运算

首先,咱们明确一下基础知识。测试

可以转换为false的表达式有:spa

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

控制台测试代码:3d

同时,要注意,空数组转换为布尔值,是true哦。code

那么接下来,咱们看它们的运算规则,逻辑表达式是从左往右计算,它们都是短路运算的操做符。短路运算的原理当有多个表达式时,左边的表达式值能够肯定结果时,就再也不继续运算右边的表达式的值。以下:blog

  • false && (anything) 短路计算的结果为假。
  • true || (anything) 短路计算的结果为真。

 逻辑与&&运算符的示例:ip

最后一个示例,若是第一个值是false,那么直接返回false。字符串

  逻辑或||运算符的示例:get

最后一个示例,若是第一个值是true,那么直接返回true。

Section2 返回指定操做数

 基本的布尔操做完了以后,咱们来看一看&&和||的进阶用法。这基于它们能作非布尔型操做数的运算。

逻辑与&&示例

第一个操做数转换后的逻辑值为true,那么返回第二个操做数的值。若是第一个操做数转换后的逻辑值为False,当前直接返回第一个操做数。

若是有多个操做数呢,固然是从左到右一个一个计算。

逻辑或||示例

若是第一个操做数的逻辑值为true,那么返回第一个操做数。若是第一个操做数的逻辑值为False,那么返回第二个操做数

 

 

 

相关文章
相关标签/搜索