基本文法の基礎8▾
データ構造とオブジェクト指向8▾
構文の基本を深める9▾
関数とデータ構造の応用9▾
アルゴリズムとテストの基礎8▾
文字列・数値操作の応用8▾
実務で役立つ機能8▾
論理演算子(AND・OR・NOT)
このレッスンでは、JavaScriptの論理演算子(AND・OR・NOT)を使いこなし、複数の条件を組み合わせた判定ができるようになることを目標にします。「JavaScript 論理演算子」「JavaScript && || 使い方」で調べている方向けの内容です。
複数の条件を組み合わせたいときは論理演算子を使います。&&(AND)は「両方とも真」、||(OR)は「どちらか一方が真」、!(NOT)は「反対にする(否定)」という意味です。「18歳以上、かつチケットを持っている」のような複数の条件をまとめて判定するときに欠かせません。if文の条件式の中でも非常によく使われる基本の演算子です。
サンプルコードでは、age >= 18 && hasTicketで「18歳以上かつチケットを持っている」かどうかを、age < 18 || !hasTicketで「18歳未満、またはチケットを持っていない」かどうかを判定しています。カッコを使って優先順位を明示すると、複雑な条件でも読み間違いを防げます。JavaScriptには「左側の条件だけで結果が確定する場合、右側を評価しない」という短絡評価という性質もあります。
初心者がよくつまずくのが、&&と||の意味を混同してしまうことです。「両方満たす」のか「どちらか一方でよい」のか、条件を考えるときに一度日本語で言語化してからコードに落とし込むと間違いにくくなります。また!を付け忘れて逆の意味の判定になってしまうミスもよくあるので、注意深く確認しましょう。
実際の開発現場では、ログイン済みかつ管理者権限を持っている場合だけ特定の機能を表示する、といったアクセス制御のロジックに論理演算子が頻繁に使われます。複数の条件が絡み合う実務のバリデーション処理でも、論理演算子を正しく組み立てられるかどうかが重要になります。
論理演算子は真偽値以外の値にも使え、||を使って「値が設定されていなければデフォルト値を使う」という書き方(const name = input || "ゲスト";)も、null合体演算子が登場する以前からよく使われてきた定番のテクニックです。
💡 console.log() の内容が実行結果に表示されます。
複数の条件を組み合わせて、ログインの可否を判定する処理が作れるようになります。