カテゴリ: JavaScript 更新日: 2026/07/30

JavaScriptの条件式を短く書くコツ!論理演算子の短絡評価を活用しよう

JavaScriptの条件式を短く書くコツ(論理演算子の短絡評価)
JavaScriptの条件式を短く書くコツ(論理演算子の短絡評価)

先生と生徒の会話形式で理解しよう

生徒

「JavaScriptで条件式を書くとき、もっと短く書ける方法はありますか?」

先生

「はい、論理演算子を使った短絡評価という方法があります。これを使うと条件式を簡潔に書けます。」

生徒

「短絡評価って聞きなれない言葉です。どういう意味ですか?」

先生

「短絡評価とは、条件式の一部だけを評価して結果が決まる場合、残りの条件を評価せずに処理を終える仕組みです。これにより、無駄な計算を省けます。」

1. 論理演算子とは?

1. 論理演算子とは?
1. 論理演算子とは?

JavaScriptの論理演算子にはAND(&&)OR(||)があります。ANDは両方の条件が真(true)の場合に全体が真になります。ORはどちらか一方が真であれば全体が真になります。

これらは「複数の条件をまとめて判断するための基本的な仕組み」で、if文や条件分岐で頻繁に使われます。特にJavaScriptでは、単にtrueやfalseだけでなく、値そのものを返す特徴があり、これがコードの短縮につながります。


let a = true;
let b = false;

console.log(a && b); // 両方trueでないとfalse
console.log(a || b); // どちらかtrueならtrue

false
true

このように、ANDは「両方OKか?」、ORは「どちらかOKか?」を判断するために使います。まずはこの基本ルールを理解しておくことで、後の短絡評価の仕組みもスムーズに理解できるようになります。

2. AND(&&)を使った短縮条件

2. AND(&&)を使った短縮条件
2. AND(&&)を使った短縮条件

例えば、変数userが存在する場合だけメッセージを表示したいときに、通常はif文を使います。


if (user) {
  console.log("ユーザーが存在します");
}

ユーザーが存在します

この書き方は基本としてとても大切ですが、処理がシンプルな場合は少しだけ短く書くこともできます。そこで活用できるのがAND(&&)による短絡評価です。


user && console.log("ユーザーが存在します");

ユーザーが存在します

&&は「左側がtrueのときだけ右側を実行する」という動きをします。つまり、userが存在しているときだけconsole.logが実行されます。

初心者の方は「if文を省略した書き方」と覚えると理解しやすいです。例えば次のように、条件がfalseの場合は何も表示されません。


let user = null;

user && console.log("ユーザーが存在します");


このように、条件が満たされたときだけ処理を実行したい場面で、コードを短くシンプルに書けるのが特徴です。ただし、複雑な処理や複数行の処理を書く場合は、無理に1行にせずif文を使う方が読みやすくなります。

3. OR(||)を使ったデフォルト値設定

3. OR(||)を使ったデフォルト値設定
3. OR(||)を使ったデフォルト値設定

OR演算子を使うと、変数に値が入っていないときに「代わりの値(デフォルト値)」を簡単に設定できます。初心者の方でもよく使う、とても便利な書き方です。


let userName = null;
let name = userName || "ゲスト";
console.log(name);

ゲスト

||は「左側が使える値ならそれを使い、使えない場合は右側を使う」という動きをします。ここではuserNameがnullなので、代わりに"ゲスト"が表示されます。

もう一つ例を見てみましょう。値が入っている場合は、そのまま使われます。


let userName = "山田";
let name = userName || "ゲスト";
console.log(name);

山田

このように、入力値があるかどうかをチェックしながら、初期値や表示名を設定したいときに役立ちます。特にフォーム入力やユーザー名表示などでよく使われる基本テクニックです。

4. 関数内での短絡評価活用例

4. 関数内での短絡評価活用例
4. 関数内での短絡評価活用例

関数内でも短絡評価はとても便利に使えます。特に「値があるときだけ処理したい」という場面で、シンプルに書けるのが特徴です。例えば、ログインユーザーが存在するときだけメッセージを表示するケースを見てみましょう。


function showMessage(user) {
  user && console.log(user.name + "さん、こんにちは!");
}

showMessage({name: "太郎"});
showMessage(null);

太郎さん、こんにちは!

このコードでは、userが存在する場合のみ右側の処理が実行されます。nullundefinedのときは処理がスキップされるため、エラーを防ぐことができます。

初心者の方は「値があるときだけ実行する安全な書き方」と覚えると理解しやすいです。特にAPIから取得したデータや、入力フォームの値を扱うときなど、データが存在するか不明な場合に役立ちます。


function printEmail(user) {
  user && user.email && console.log(user.email);
}

printEmail({email: "test@example.com"});
printEmail({});

test@example.com

このように複数の条件をつなげることで、「プロパティがある場合のみ処理する」といった安全なコードも書けます。関数の中で無駄なエラーを防ぎながら、短く分かりやすく書けるのが短絡評価の大きなメリットです。

5. 短絡評価のベストプラクティス

5. 短絡評価のベストプラクティス
5. 短絡評価のベストプラクティス
  • 簡単な条件式や一時的な処理は短絡評価で1行にまとめる
  • 複雑な処理は無理に1行にせずif文で明示的に書く
  • ORを使ったデフォルト値の設定は、初期値を分かりやすく示す
  • ANDを使った実行は、条件が真の場合だけ処理したいときに活用
  • 可読性を優先し、他の人が見ても理解できる書き方を心がける

短絡評価を理解して使いこなすことで、JavaScriptの条件式を簡潔で読みやすく書くことができます。

この記事を読んだ人からの質問

この記事を読んだ人からの質問
この記事を読んだ人からの質問

プログラミング初心者からのよくある疑問/質問を解決します

JavaScriptの条件式を短く書く方法として短絡評価とは何ですか?初心者向けに分かりやすく教えてください。

JavaScriptの短絡評価とは、論理演算子ANDやORを使って条件式の結果が途中で確定した場合、それ以上の評価を行わない仕組みです。これにより無駄な処理を省き、コードを短く書けるため、初心者でも効率的なJavaScriptコードを書くことができます。

JavaScriptの論理演算子ANDとORの違いは何ですか?条件式の書き方も知りたいです。

JavaScriptの論理演算子ANDは両方の条件がtrueのときだけ成立し、ORはどちらか一方がtrueなら成立します。この違いを理解することで、条件式を短く書くテクニックとして短絡評価を活用できるようになります。
カテゴリの一覧へ
新着記事
New1
JavaScript
JavaScriptでURLを正規化(canonical)する方法を徹底解説!初心者向けにわかりやすく解説
New2
TypeScript
TypeScriptの型まとめ!安全で保守性の高いコードを書く方法
New3
TypeScript
TypeScriptのプロジェクトをtscでビルドする基本操作を解説!初心者にもわかるステップバイステップ
New4
Claude Code
Claude Codeの基本的な使い方!起動から終了まで初心者向けに解説
人気記事
No.1
Java&Spring記事人気No1
TypeScript
TypeScript学習におすすめの無料教材・リファレンスサイト【初心者向け】
No.2
Java&Spring記事人気No2
JavaScript
JavaScriptのインストール方法まとめ!Windows・Mac・Linux別にステップ解説
No.3
Java&Spring記事人気No3
JavaScript
JavaScriptの文字列を分割する方法(splitメソッド)
No.4
Java&Spring記事人気No4
JavaScript
JavaScriptで要素の表示・非表示を切り替える方法(display・visibility)を完全解説
No.5
Java&Spring記事人気No5
JavaScript
JavaScriptでフォームの値を取得する方法を徹底解説!valueプロパティの使い道
No.6
Java&Spring記事人気No6
TypeScript
TypeScriptで最初に覚えたい基本構文まとめ
No.7
Java&Spring記事人気No7
JavaScript
JavaScriptのライブラリとは?標準ライブラリと外部ライブラリの違いと使い方
No.8
Java&Spring記事人気No8
TypeScript
TypeScriptでクライアントとサーバーのバリデーションを共通化する方法!初心者向けデータ検証入門