動的で応答性の高いJavaScriptアプリケーションを構築するには、条件付きロジックをマスターすることが不可欠です。この記事では、if
文内で複数の条件を効果的に処理する方法を解説し、コードの能力と柔軟性を大幅に向上させます。
目次
論理演算子による複数の条件の処理
JavaScriptの論理演算子は、複数の条件を処理するための基礎です。これにより、ブール式を組み合わせて、より複雑な条件文を作成できます。主な論理演算子は3つあります。
&&
(AND): すべての式がtrue
の場合にのみtrue
を返します。||
(OR): 少なくとも1つの式がtrue
の場合にtrue
を返します。!
(NOT): 式のブール値を反転します(true
はfalse
になり、その逆も同様です)。
AND (&&
)を使用した例:
let age = 25;
let hasLicense = true;
if (age >= 18 && hasLicense) {
console.log("運転資格があります。");
} else {
console.log("運転資格がありません。");
}
OR (||
)を使用した例:
let isWeekend = true;
let isHoliday = false;
if (isWeekend || isHoliday) {
console.log("リラックスする時間です!");
} else {
console.log("仕事の日です。");
}
NOT (!
)を使用した例:
let isLoggedIn = false;
if (!isLoggedIn) {
console.log("ログインしてください。");
} else {
console.log("ようこそ!");
}
AND演算子とOR演算子の組み合わせ
&&
演算子と||
演算子を組み合わせて、さらに複雑な条件を作成できます。評価順序を制御するには、括弧()
が不可欠です。優先順位は、!
(NOT)が最も高く、次に&&
(AND)、そして||
(OR)となります。
ANDとORを組み合わせた例:
let temperature = 25;
let isSunny = true;
let isRainy = false;
if ((temperature > 20 && isSunny) || isRainy) {
console.log("外に出かけるには良い日ですが、雨が降る場合は傘を持っていきましょう。");
} else {
console.log("今日は家にいた方がいいかもしれません。");
}
ネストされたif
文の使用
複雑なシナリオでは、if
文をネストすることで、複数のレベルの条件を明確に処理できます。ネストされた各if
文は、外側のif
条件が満たされた場合にのみ評価されます。
let age = 15;
let hasParentPermission = true;
if (age >= 18) {
console.log("イベントに参加できます。");
} else {
if (hasParentPermission) {
console.log("保護者の同伴があればイベントに参加できます。");
} else {
console.log("イベントに参加できません。");
}
}
簡潔なロジックのための三項演算子
単純な条件付き代入の場合、三項演算子(condition ? valueIfTrue : valueIfFalse
)は、完全なif-else
文よりも簡潔な代替手段を提供します。
let isAdult = age >= 18 ? true : false;
console.log(isAdult); // age >= 18の場合はtrue、それ以外の場合はfalseを出力
これらのテクニックをマスターすることで、幅広い条件付きシナリオを明確かつ効率的に処理できる、堅牢で適応性の高いJavaScriptアプリケーションを構築できます。