JSのことを簡単に理解します.


本論文では&&||の行為についてのみ理解しており、実際にJSエンジンがそうしているかどうかは考察していません.
知識の下地&&および||を講義する前に、関数Booleanを理解する必要があります.
その行為は以下の通りです.
  • はtrueに戻ります.
  • Boolean(true)
  • Boolean( )
  • Boolean( NaN ( Infinity))
  • nullの結果はfalse
  • です.
  • undefinedの結果はfalse
  • です.
  • Boolean( )
  • はfalseのパラメータに戻ります.
  • Boolean(false)
  • Boolean( )
  • Boolean(0 NaN)
  • Boolean(null)
  • Boolean(undefined)
  • オブジェクトタイプの結果はtrue
  • です.
    実はif(...)の中の暗黙的な転化ロジックですが、実はここで暗黙的な転化の時に使う方法はBooleanですか?
    本題にもどる
    実はこの二つの記号は短絡演算子です.その作用は操作数を返します.ルールは以下の通りです.
    各操作数に対してBoolean():
  • は、||に対して、左から右へBoolean()を探してtrueの操作数に戻り、最後の||の前にtrueに戻る操作数を見つけたら、この操作数を返して終了します.そうでなければ、一番後ろの操作数
  • に戻ります.
  • は、&&に対して、左から右へBoolean()を探してfalseとしての動作数を返し、最後の&&の前にfalseとして返される動作数を見つけたら、この動作数を返して終了します.そうでなければ、一番後ろの動作数
  • に戻ります.
    実はこの規則は私達が普通出会った論理判断にも適用されます.
    true 12464;false
    true𞓜true
    false〓true
    false 124 false
    true&false
    true&true
    false&true
    false&false
    以上はすべてV 8の非厳格なモードでテストして、コメントエリアの交流、批判、指摘を歓迎します.