JavaScriptの条件式を短く書くコツ!論理演算子の短絡評価を活用しよう
先生と生徒の会話形式で理解しよう
生徒
「JavaScriptで条件式を書くとき、もっと短く書ける方法はありますか?」
先生
「はい、論理演算子を使った短絡評価という方法があります。これを使うと条件式を簡潔に書けます。」
生徒
「短絡評価って聞きなれない言葉です。どういう意味ですか?」
先生
「短絡評価とは、条件式の一部だけを評価して結果が決まる場合、残りの条件を評価せずに処理を終える仕組みです。これにより、無駄な計算を省けます。」
1. 論理演算子とは?
JavaScriptの論理演算子にはAND(&&)とOR(||)があります。ANDは両方の条件が真(true)の場合に全体が真になります。ORはどちらか一方が真であれば全体が真になります。
この性質を利用して、条件式を短く書くことができます。
2. AND(&&)を使った短縮条件
例えば、変数userが存在する場合だけメッセージを表示したいときに、通常はif文を使います。
if (user) {
console.log("ユーザーが存在します");
}
ユーザーが存在します
これを短絡評価を使うと、1行で書けます。
user && console.log("ユーザーが存在します");
ユーザーが存在します
ここで、&&の左側の条件がfalseの場合、右側の処理は実行されません。これが短絡評価です。
3. OR(||)を使ったデフォルト値設定
OR演算子を使うと、変数が存在しない場合にデフォルト値を設定することができます。
let name = userName || "ゲスト";
console.log(name);
ゲスト
ここでuserNameが空やnullの場合、"ゲスト"が代入されます。ORも短絡評価を利用しており、左側が真なら右側は評価されません。
4. 関数内での短絡評価活用例
関数内でも短絡評価は有効です。例えば、ログインユーザーが存在するときだけメッセージを返す場合です。
function showMessage(user) {
user && console.log(user.name + "さん、こんにちは!");
}
showMessage({name: "太郎"});
showMessage(null);
太郎さん、こんにちは!
nullの場合は右側の処理は実行されないため、エラーを防ぐことができます。
5. 短絡評価のベストプラクティス
- 簡単な条件式や一時的な処理は短絡評価で1行にまとめる
- 複雑な処理は無理に1行にせず
if文で明示的に書く - ORを使ったデフォルト値の設定は、初期値を分かりやすく示す
- ANDを使った実行は、条件が真の場合だけ処理したいときに活用
- 可読性を優先し、他の人が見ても理解できる書き方を心がける
短絡評価を理解して使いこなすことで、JavaScriptの条件式を簡潔で読みやすく書くことができます。