JavaScriptの条件式で複雑な条件をまとめる書き方例
生徒
「先生、JavaScriptの条件式で複数の条件があるとき、どうやってまとめて書けばいいですか?」
先生
「複雑な条件をまとめるには、論理演算子を使います。簡単に言うと、『かつ』や『または』の関係をコードで表す方法です。」
生徒
「論理演算子ってどんなものですか?難しそうです…」
先生
「論理演算子は、条件をつなげるための記号で、よく使うのは &&(かつ)と ||(または)です。順に見ていきましょう。」
生徒
「それぞれどういう意味ですか?」
先生
「&& は『両方の条件が真のときだけ真』、|| は『どちらかの条件が真なら真』という意味です。」
生徒
「実際にどんな風に使うんでしょう?」
先生
「具体例を交えて説明しますね!」
1. 複数の条件を「かつ」でまとめる(&&)
例えば、「年齢が18歳以上で、さらに会員である人だけ」を対象にしたい場合は、2つの条件をどちらも満たす必要があります。このようなときに使うのが &&(かつ)です。両方の条件が true のときだけ、全体の条件も true になります。
let age = 20;
let isMember = true;
if (age >= 18 && isMember) {
console.log("18歳以上の会員です。");
} else {
console.log("条件を満たしていません。");
}
このコードでは、「年齢が18歳以上」と「会員である」という2つの条件を同時にチェックしています。どちらか一方でも満たしていない場合は、条件全体が false になります。
もう少しイメージしやすくするために、初心者向けのシンプルな例も見てみましょう。
let score = 85;
let isSubmitted = true;
if (score >= 80 && isSubmitted) {
console.log("合格です。");
} else {
console.log("不合格です。");
}
この場合は、「点数が80点以上」かつ「課題を提出している」ことが合格の条件です。2つとも満たしていないと合格にはならない、というルールをコードで表現しています。
このように && を使うと、「すべての条件を満たす必要がある場面」をシンプルに書くことができます。条件が増えても同じように && をつなげていくだけなので、基本としてしっかり覚えておきましょう。
2. 複数の条件を「または」でまとめる(||)
次に、年齢が18歳以上、または保護者の許可がある場合に通れる条件を考えてみます。どちらか一方でも当てはまればOKです。
let age = 16;
let hasPermission = true;
if (age >= 18 || hasPermission) {
console.log("入場可能です。");
} else {
console.log("入場できません。");
}
この例では、16歳でも hasPermission が true なら通れます。
3. 複雑な条件を組み合わせるときは括弧()でグループ化
条件が複雑になるときは、括弧を使って分かりやすくグループ分けします。そうすることで、どの条件がどのように評価されるかを明確にできます。
let age = 20;
let isMember = false;
let hasInvitation = true;
if ((age >= 18 && isMember) || hasInvitation) {
console.log("入場できます。");
} else {
console.log("入場できません。");
}
この場合、「年齢が18歳以上かつ会員」か、「招待状がある」なら入場可能と判定します。
4. 否定(!)を使って条件を逆にする
条件を逆にしたいときは、否定演算子 ! を使います。例えば、会員でない人を判定するときに便利です。
let isMember = false;
if (!isMember) {
console.log("会員ではありません。");
} else {
console.log("会員です。");
}
ここでは、isMember が false のときに「会員ではありません」と表示されます。
5. 複雑な条件を分かりやすく書くコツ
条件式が長くなると読みにくくなるので、次のポイントを意識しましょう。
- 適度に括弧を使い、条件のまとまりをはっきりさせる
- 必要なら変数に条件の結果を入れてから判定する
- コメントで何を判定しているか説明を書く
// 年齢が18歳以上かつ会員か、または招待状を持っているか
let canEnter = (age >= 18 && isMember) || hasInvitation;
if (canEnter) {
console.log("入場可能です。");
} else {
console.log("入場できません。");
}
こう書くと、条件の意味がすぐわかり、コードもすっきりします。
6. よくある条件の組み合わせ例
実際によく使う条件のまとめ方をいくつか紹介します。
- 複数の値のどれかに当てはまるか調べる:
if (color === "赤" || color === "青" || color === "黄") - 年齢や資格、状態をすべて満たすか:
if (age >= 20 && hasLicense && isActive) - 否定を交えた条件:
if (!(status === "退会"))
これらを使って必要な条件を自由に作りましょう。
7. 最後に注意したいポイント
複雑な条件式を書くときは、論理演算子の優先順位に注意しましょう。括弧を使うと優先順位を明確にできるので、必ず使うクセをつけると良いです。
また、条件が長くなる場合は関数や変数に処理を分けて読みやすくする工夫をしましょう。
まとめ
JavaScriptの条件式は、プログラムの流れを制御するために欠かせない重要な要素です。特に複雑な条件を扱う場面では、論理演算子であるかつまたは否定を適切に使い分けることで、柔軟で実用的な条件分岐を実現できます。今回学習した内容を振り返ると、まずかつの条件では複数の条件がすべて満たされた場合にのみ処理が実行されるため、厳密な条件チェックに適しています。一方でまたはの条件ではどれか一つでも条件を満たせばよいので、選択肢が複数ある場合に有効です。さらに否定を使うことで条件を反転させることができ、より細かい条件制御が可能になります。 また、条件式が長くなり複雑になった場合には、括弧を使ってグループ化することが重要です。これにより評価の順序が明確になり、意図しない動作を防ぐことができます。加えて、条件を変数にまとめることで可読性を高めることも実務では非常に重要なポイントです。コードは動くだけでなく、後から見たときに理解しやすいことが求められます。 実際の開発現場では、ログイン判定や権限チェック、入力値のバリデーションなど、複数条件を組み合わせるケースが非常に多くあります。そのため今回学んだJavaScriptの条件式や論理演算子の使い方は、基礎でありながら応用範囲が広い知識です。繰り返し書いて慣れることで、自然に最適な条件式を書けるようになります。 次に、理解をさらに深めるためのサンプルプログラムを確認してみましょう。
サンプルプログラムで総復習
let age = 22;
let isMember = true;
let hasCoupon = false;
// 条件を変数にまとめる
let isAdultMember = age >= 18 && isMember;
let canUseService = isAdultMember || hasCoupon;
if (canUseService) {
console.log("サービスを利用できます。");
} else {
console.log("サービスを利用できません。");
}
実行結果
サービスを利用できます。
このように条件を段階的に整理していくことで、複雑な条件式でも見やすく理解しやすいコードを書くことができます。特に初心者のうちは一つの条件にまとめようとせず、小さく分けて考えることが上達の近道です。 JavaScriptの条件分岐は基礎文法の中でも頻繁に使用されるため、繰り返し練習しながら自分のものにしていきましょう。条件式の書き方を理解すると、プログラム全体の構造が見えてくるようになります。
生徒
今回のJavaScriptの条件式の学習で、複雑な条件でも整理すれば分かりやすく書けることが分かりました。今までは長い条件を見ると混乱していましたが、少し自信がつきました。
先生
とても良い理解ですね。条件式は最初は難しく感じますが、かつまたは否定の意味をしっかり理解すると、一気に読みやすくなります。特に括弧の使い方は大切なので意識していきましょう。
生徒
括弧を使うことで条件のまとまりが見えるようになりました。今まではなんとなく書いていましたが、これからは意識して書いてみます。
先生
それが大事です。また、条件を変数に入れてから使う方法も覚えておくと、より実務的なコードが書けるようになります。読みやすさはとても重要です。
生徒
はい、今回のように変数にまとめると、何を判定しているのかすぐ分かりますね。これからのプログラムでも使っていきたいです。
先生
その意識があれば大丈夫です。JavaScriptの条件式や論理演算子は今後も何度も出てくるので、実際に手を動かして慣れていきましょう。繰り返し書くことが一番の近道です。
生徒
分かりました。これからも練習して、複雑な条件でも迷わず書けるようになりたいです。