js 逻辑运算符
js 逻辑运算符 逻辑运算符通常用于布尔型(逻辑)值。这种情况下,它们返回一个布尔值。然而,&& 和 || 运算符会返回一个指定操作数的值,因此,这些运算符也用于非布尔值。这时,它们也就会返回一个非布尔型值。 描述 逻辑运算符如下表所示 (其中expr可能是任何一种类型, 不一定是布尔值): 运算符 语法 说明 逻辑与,AND(&&) expr1 && expr2 若 expr1 可转换为 true,则返回 expr2;否则,返回 expr1。 逻辑或,OR(||) expr1 || expr2 若 expr1 可转换为 true,则返回 expr1;否则,返回 expr2。 逻辑非,NOT(!) !expr 若 expr 可转换为 true,则返回 false;否则,返回 true。 如果一个值可以被转换为 true,那么这个值就是所谓的 truthy,如果可以被转换为 false,那么这个值就是所谓的 falsy。 会被转换为 false 的表达式有: null; NaN; 0; 空字符串("" or ‘’ or ``); undefined 记住上面这五个就行了 尽管 && 和 || 运算符能够使用非布尔值的操作数, 但它们依然可以被看作是布尔操作符,因为它们的返回值总是能够被转换为布尔值。如果要 显式地将它们的返回值(或者表达式)转换为布尔值 ,请使用**双重非运算符(即!