前提・実現したいこと
検証環境:repl.itのNode.js環境(Node.js v12.16.1)
javascriptのif分の挙動についてご質問があります。
以下の2つの記述では実行される結果が違うのですが、その理由を知りたいです。
ソースコード
javascript
1 if ( false === a[0] && true ){ 2 console.log("test") 3} 4//ReferenceError: a is not defined
これは理解できます。aを定義していないので、test文字列は出力されません。
そこで、以下のようなif文も試しました。
javascript
1 if ( false && true === a[0] && true ){ 2 console.log("test") 3} 4//(何も出力されない)
この場合、なぜ、ReferenceError: a is not definedとならないのでしょうか?
false && trueの評価は、falseであるため、false === a[0]&&true を比較したif文と結果は同じかと予想しておりましたが違っていました。
大変お手数ですが、こちらの理由をご教授いただけますと幸いです。
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/10/13 03:01