1. 3 件なら件数入りの文を返す
  2. 1 件でも同じ形で返す
  3. 0 件ならまだ作品がありませんを返す
  4. 引数を渡さず undefined でも落ちない
  5. 10 件でも件数入りの文を返す
コース一覧
JavaScript入門:コードを動かす
三項演算子で簡潔に

JavaScript入門:コードを動かす

HTML に JavaScript を読み込むところから始め、コンソール、文字列と数値、let と const、データ型、型変換、比較・論理・三項・null 合体演算子を学ぶ全 23 レッスン(335 分)の入門コースです。最後は、変数と式を使ってプロフィールの見出し用の値を組み立てます。if 文、配列とループ、DOM 操作は後続コースで扱います。

1
はじめての JavaScript
01. HTML に JavaScript を読み込む5分
02. console.log で表示する15分
03. 文字列を連結する15分
04. 四則演算15分
05. コメントで意図を残す15分
06. エラーを読んでみる15分
07. つくる 起動メッセージ20分
08. 第1章まとめクイズ10分
2
変数とデータ型
01. let と const を使い分ける15分
02. typeof で型を調べる15分
03. 型を変換する15分
04. 真偽値と falsy な値15分
05. null と undefined を見分ける15分
06. テンプレートリテラル15分
07. つくる プロフィールを変数にする20分
08. 第2章まとめクイズ10分
3
演算子と式
01. 比較演算子と ===15分
02. 論理演算子と短絡評価15分
03. 三項演算子で簡潔に15分
04. ?? で既定値を用意する15分
05. 演算子の優先順位15分
06. つくる 表示名を決める20分
07. 第3章まとめクイズ10分

三項演算子で簡潔に

三項演算子の切り替え
解説

このレッスンで分かること

  • 条件 ? 真のときの値 : 偽のときの値 で、条件によって値を切り替えられます
  • 三項演算子は式なので、そのまま return や変数の初期値に置けます

誰の画面にも同じ文言しか出せない

プロフィールサイトの見出しに「人気作品」と決め打ちで書くと、まだ誰にも見られていない作品にも同じ文字が出ます。状況に合わせて言葉を変えたい。つまり、条件によって表示する値そのものを選びたいわけです。

この「値を選ぶ」場面で使うのが三項演算子です。書き方は次の形です。

JavaScript

条件 ? 条件が真のときの値 : 条件が偽のときの値

? の前が条件、? と : の間が真のときの値、: の後ろが偽のときの値です。オペランドを 3 つ取るので三項演算子と呼ばれます。JavaScript でオペランドを 3 つ取る演算子はこれだけなので、「三項演算子」と言えばこの形を指します。

JavaScript

const views = 120; const badge = views >= 100 ? "人気作品" : "通常"; console.log(badge); // 人気作品
解説

? を「だったら」、: を「そうでなければ」と読むと、そのまま日本語の文になります。「閲覧数が 100 以上だったら人気作品、そうでなければ通常」です。

式だから、そのまま代入できて return できる

三項演算子は値を持つ式です。値を持つということは、値を書ける場所ならどこにでも置けるということです。

JavaScript

// const の初期値にできる const status = views >= 100 ? "公開中" : "準備中"; // テンプレートリテラルの中に埋め込める console.log(`この作品は ${views >= 100 ? "人気" : "通常"}です`); // 画面に付けるクラス名を条件で決めるのにもよく使う const className = views >= 100 ? "card card-hot" : "card"; // 行が長くなったら ? と : の前で改行する const message = views >= 100 ? "たくさんの人に見られています" : "これから伸びていきます";

const は宣言と同時に値を入れる必要があります。「変数の初期値を条件で決めたい」場面が、三項演算子のいちばんおいしい使いどころです。関数の return に直接書けるのも同じ理由で、選んだ値がそのまま戻り値になります。選ぶ値は文字列でなくても構いません。数値でも真偽値でも、値であればそのまま置けます。

条件のところには、比較演算子や論理演算子の結果をそのまま置けます。views >= 100 のような比較でも、hasPhoto && views >= 100 のような組み合わせでも構いません。真偽が決まる式であれば何でも条件になります。

よくある間違い

  • ? true : false と書いてしまう — views >= 100 の時点で、答えはすでに true か false です。そこから改めて true と false を選び直す必要はありません。同じ理屈で c ? false : true は !c と書けます

JavaScript

const isPopular = views >= 100 ? true : false; // 冗長 const isPopular2 = views >= 100; // これで同じ意味
  • 偽のときの値を省く — ? と : はセットです。片方だけでは構文エラーになり、そもそも動きません

JavaScript

// const label = views >= 100 ? "人気"; // SyntaxError const label = views >= 100 ? "人気" : "通常"; // 両方書く

要件

  1. 関数名は worksLabel、引数は count の 1 つにすること
  2. count が 1 以上なら "作品が " + count + " 件あります" の文字列を返すこと
  3. count が 0 や未設定のときは "まだ作品がありません" を返すこと
  4. if 文を使わず、三項演算子で書くこと

入出力例

worksLabel(3) → "作品が 3 件あります" worksLabel(1) → "作品が 1 件あります" worksLabel(0) → "まだ作品がありません" worksLabel() → "まだ作品がありません" worksLabel(10) → "作品が 10 件あります"

ヒント

条件は `count > 0` です。結果によって返す文字列を選びます

`return 条件 ? 真のときの値 : 偽のときの値;` の形で 1 行にまとめられます

`"作品が " + count + " 件あります"` の半角スペースの位置に注意してください。前後に 1 つずつ入ります

生田 陸人
監修生田 陸人
ゆめさくエンジニア / 現役ソフトウェアエンジニア監修者プロフィールを見る →
編集 ゆめさく編集部·公開 2026/05/19·更新 2026/08/26

関連レッスン

  • ?? で既定値を用意する

    値が null または undefined のときだけ既定値に差し替える演算子を学びます。|| と違って 0 や空文字はそのまま残ります。

  • 演算子の優先順位

    ひとつの式に複数の演算子が並んだとき、どれから評価されるかの順序を学びます。丸括弧で明示すれば順序を変えられます。

  • つくる 表示名を決める

    第3章の総まとめです。ニックネーム、肩書き、作品数から、プロフィールの見出しに出す値を演算子だけで決めます。

  • 第3章まとめクイズ

    第3章で学んだ比較演算子と ===、論理演算子と短絡評価、三項演算子、?? による既定値、演算子の優先順位を 5 問で確かめます。

このレッスンに出てくる用語

意味があいまいなまま進んだ語は、ここから読み直せます。

  • 三項演算子値1 if 条件 else 値2 の形式。
  • 演算子//は切り捨て除算(7 // 2 = 3)。
  • 変数データに名前をつけて参照する仕組み
  • JavaScriptWeb で動的な振る舞いを担う言語
  • 関数処理に名前を付けて再利用できる単位
  • 戻り値呼び出し元への返答を表す点線矢印
  • 比較演算子=は代入、==は値の比較。
  • 論理演算子and=両方True、or=どちらかTrue、not=反転。
main.js
学習モード
エディタを読み込んでいます

メモ

三項演算子で簡潔に

⌘S で保存