2 つの文字列の間に論理演算子 && を使用すると、出力として 2 番目の文字列が得られるのはなぜですか。
console.log("" && "Dog"); // ""
console.log("Cat" && "Dog"); // "Dog"
上記のような論理式では0
、false
、null
、 、undefined
、""
以外NaN
はすべて真偽値として評価されることがわかりました。しかし、出力が最初の文字列ではなく 2 番目の文字列になるのはなぜですか? また、ブール式として評価されているため、出力が「真」ではないのはなぜですか?