読み方 : たんらくひょうか

短絡評価【short-circuit evaluation】ショートサーキット評価

概要

短絡評価とは論理演算子を用いた式の評価において、左辺の結果だけで式全体の値が確定した場合に右辺の評価を省略する方式。多くのプログラミング言語論理積(AND)や論理和(OR)の演算に採用されている。
短絡評価のイメージ画像

論理積演算子(&&)を使った if(条件A && 条件B) のような式では、条件Aが偽(false)であれば、条件Bの真偽に関わらず式全体は必ず偽になる。短絡評価では、このような場合に条件Bの評価は実行されない。

論理和演算子(||)の場合は真偽が逆の場合に同じことが起こり、左辺が真(true)であれば式全体は必ず真となるため、やはり右辺はスキップされる。いずれも、結果が確定した時点で後続の評価を打ち切る。

短絡評価は不要な計算を省いて実行速度を向上させる効果があるほか、エラーの回避に利用されることもある。例えば、「対象がnullでない、かつ、対象の内容が特定の条件を満たす」という式では、左辺でnullと判明した時点で右辺の参照処理がスキップされるため、null値に何らかの処理を実行しようとする際に発生する実行時エラーを未然に防ぐことができる。このような記述パターンは多くのプログラムで用いられる。

なお、右辺に変数の更新や関数呼び出しなど外部へ作用を及ぼす「副作用」を伴う処理が含まれる場合は注意が必要である。左辺の評価結果によっては右辺が実行されないため、常に実行されることを前提にしたコードを記述すると意図しない挙動の原因となる。

論理演算子ビット演算子を別に持つ言語では、ビット論理積(&)やビット論理和(|)には通常、短絡評価が適用されない。Javaなどでは真偽値の演算にこれらのビット演算子を適用することも可能であり、短絡評価を行う「&&」「||」と使い分けることで、右辺を必ず評価させるかどうかを明示的に制御できる。

(2026.7.1更新)
 

他の辞典等による「短絡評価」の解説 (外部サイト)

この記事の著者 : (株)インセプト IT用語辞典 e-Words 編集部
1997年8月より「IT用語辞典 e-Words」を執筆・編集しています。累計公開記事数は1万ページ以上、累計サイト訪問者数は1億人以上です。学術論文や官公庁の資料などへも多数の記事が引用・参照されています。