論理演算子

Javascriptの論理演算子についてまとめました。

論理演算子とは

基本的には、左辺と右辺の組み合わせを、『true』もしくは『false』で判定するための演算子です。

主に下記3つを使います。

  • &&
     論理積(AND演算):左辺と右辺が両方『true』の時、『true』になる。
  • ||
     論理和(OR演算):左辺と右辺のどちらかが『true』の時、『true』になる。
  • !
     否定(NOT演算):論理演算の結果を反転させる。

冒頭で『基本的には』と書きましたが、Javascriptの仕様は少し複雑です。

まずは、下記をご覧ください。

引用(MDN Web Docs)


論理積(AND演算)
  左から右に向けて評価した際に最初の偽値のオペランドに遭遇したときにはその値を、
  またはすべてが真値であった場合は最後のオペランドの値を返します。

論理和(OR演算)
  オペランドのうち 1 つ以上が true である場合に true になります。
  一般的には論理値(ブール値)で使用されます。その場合は論理値を返します。
  ただし || 演算子は実際には指定されたオペランドのうち一つの値を返すので、
  この演算子が論理値以外で使用された場合は、論理値以外の値を返すことになります。

否定(NOT)
  真値を取ると偽値になり、その逆も同様です。
  これは通常論理型 (ブール型) の値に使用されます。
  論理型以外の値に使用した場合、単一のオペランドが true に変換できる場合は false を返し、
  それ以外は true を返します。

これがどういうことかをサンプルでまとめてみました。

サンプル

途中で出てくる『Falsy』や『Truthy』についてはここを参考にして下さい。