当我在两个字符串之间使用逻辑运算符 && 时,为什么它会给我第二个字符串作为输出:
console.log("" && "Dog"); // ""
console.log("Cat" && "Dog"); // "Dog"
我意识到除了0
, false
, null
, undefined
, ""
and之外NaN
,其他所有内容在上述逻辑表达式中都被评估为布尔值 true。但是为什么输出是第二个字符串而不是第一个?为什么输出不只是“真”,因为它被评估为布尔表达式?