プログラミングの用語一覧へ
このページの目次

三項演算子とは?

最終更新:2026/08/18

3秒でわかる

条件によって2つの値のどちらかを返す演算子。短い二択を式として書けるため、変数への代入や文字列への埋め込みに向いています。

もう少し詳しく

どういうものか

三項演算子は、条件とその真の場合の値、偽の場合の値の3つを取る演算子です。if文が「処理を分岐させる文」であるのに対し、三項演算子は「値になる式」である点が根本的に違います。値なので、そのまま変数に代入したり、関数引数に渡したり、文字列の中へ埋め込んだりできます。Pythonでは真の値を先に書き、JavaScriptやJavaでは条件を先に書きます。

なぜ必要か

「会員なら割引価格、そうでなければ通常価格」のような二択を、4行のif文で書くと変数の宣言と代入が分かれ、初期値をどうするか考える手間が生まれます。式で書ければ宣言と同時に確定でき、その変数が後から書き換わらないことも読み手に伝わります。JSXやf文字列のように、文を書けない場所で分岐したいときにも唯一の選択肢になります。

具体例

age = 17 label = "大人" if age >= 18 else "子ども" print(f"区分は{label}です") items = [] print(f"{len(items)}件" if items else "該当なし")

JavaScriptでは並びが変わります。

const price = isMember ? 800 : 1000; const name = user.nickname ?? "ゲスト"; // null と undefined のときだけ既定値

つまずきやすいところ

入れ子にして読めなくなる例が最も多く見られます。3つ以上の分岐が必要になったら、素直にif文へ戻すか、辞書やオブジェクトで対応表を作るほうが読みやすくなります。もうひとつ、三項演算子の中で printappend のような副作用のある処理を呼ぼうとする誤りです。これは値を作る式であって、処理を並べる場所ではありません。JavaScriptで既定値を入れる目的なら、0 や空文字を残したいかどうかで ||?? を使い分けます。読みやすさの目安としては、1行に収まり、条件がひとつで、返す値が両方とも短いときだけ使うと決めておくと迷いません。行が折り返すほど長くなった時点が、if文へ書き直す合図だと考えておくと安全です。

似た用語との違い

書き方性質向いている場面
if文分岐ごとに複数の処理をする
三項演算子二択の値を1つ決める
辞書での対応表データ分岐が3つ以上ある


覚え方

if文は処理を選ぶもの、三項演算子は値を選ぶものです。書いた結果が変数に入るかどうかで、どちらを使うべきかを判断できます。

知識のつながり

サイドバーと同じ推奨ルート・関連語を、まとめて確認できます。

現在地三項演算子プログラミング

LEARN BY DOING

この用語を、教材で使ってみる

直接関連する編と、その編を含むコースです。用語だけで終わらず、ブラウザ上で実際に手を動かせます。

Pythonコースの全編を見る