逻辑运算符,逻辑与&&,逻辑或||,逻辑非!,的简单理解

逻辑运算符,逻辑与&&,逻辑或||,逻辑非!,的简单理解

运算符 语法 说明
逻辑与,AND(&& *expr1* && *expr2* expr**1** 可转换为 true,则返回 expr**2**;否则,返回 expr**1**
逻辑或,OR(` `)
逻辑非,NOT(! !*expr* expr 可转换为 true,则返回 false;否则,返回 true

如果一个值可以被转换为 true,那么这个值就是所谓的 truthy,如果可以被转换为 false,那么这个值就是所谓的 falsy。

会被转换为 false 的表达式有:

尽管 &&|| 运算符能够使用非布尔值的操作数, 但它们依然被看作是布尔操作符,因为它们的返回值总是能够被转换为布尔值。

逻辑与(&&)

a1 = true  && true      // t && t 返回 true
a2 = true  && false     // t && f 返回 false
a3 = false && true      // f && t 返回 false
a4 = false && (3 == 4)  // f && f 返回 false
a5 = "Cat" && "Dog"     // t && t 返回 "Dog"
a6 = false && "Cat"     // f && t 返回 false
a7 = "Cat" && false     // t && f 返回 false
a8 = ''    && false     // f && f 返回 ""
a9 = false && ''        // f && f 返回 false

逻辑或(||)

o1 = true  || true      // t || t 返回 true
o2 = false || true      // f || t 返回 true
o3 = true  || false     // t || f 返回 true
o4 = false || (3 == 4)  // f || f 返回 false
o5 = "Cat" || "Dog"     // t || t 返回 "Cat"
o6 = false || "Cat"     // f || t 返回 "Cat"
o7 = "Cat" || false     // t || f 返回 "Cat"
o8 = ''    || false     // f || f 返回 false
o9 = false || ''        // f || f 返回 ""

逻辑非(!)

n1 = !true              // !t 返回 false
n2 = !false             // !f 返回 true
n3 = !''                // !t 返回 false
n4 = !'Cat'             // !t 返回 false

双重非(!!)运算符

n1 = !!true                   // !!truthy 返回 true
n2 = !!{}                     // !!truthy 返回 true:任何对象都是 truthy 的…
n3 = !!(new Boolean(false))   // …甚至 .valueOf()返回false的布尔值对象也是!
n4 = !!false                  // !!falsy 返回 false
n5 = !!""                     // !!falsy 返回 false
n6 = !!Boolean(false)         // !!falsy 返回 false
上一篇

虚拟机VMware安装黑苹果Mac Os教程