if文のORについて。

javascriptでif文を書いてた時の動作でORを使った時に前が条件で結果が確定している際は後ろの判定が行われなかった。

追記:Pythonでも試したら同じだったのでJSとかに関係なくプログラミング言語全般に言えそう。

const function1 = () => {
  console.log('function1')
    return true
}

const funtion2 = () => {
  console.log('function2')
  return true
}

if (function1() || funtion2()) {
  console.log('pass')
}

この場合function1は出力されるが、その際にtrueを返してそれ以上の判定は不要なのでfunction2は出力されずにpassが出力される。

ちなみにANDの場合はもちろん両方判定する。

よく考えれば当たり前だけど、実際に遭遇したら 🤔 となったのでφ(・