Qraft(クラフト) 資格・学習クイズアプリ

React入門 練習問題 4:三項演算子の理解と活用

Reactのレンダリングで次のJSXコードがある場合、「?」と「:」の記号は何を表していますか?

```{isLoggedIn ? <UserProfile /> : <LoginButton />}```

  1. オプショナルチェーン演算子と型注釈
  2. 三項演算子(条件演算子)
  3. Nullish合体演算子とオブジェクト分割代入
  4. JSXの特殊構文
  5. 論理AND演算子とスプレッド構文

Qraftユーザーの成績:正答率 72%(23/32回正解)

正解と解説を見る
正解:三項演算子(条件演算子)

`{isLoggedIn ? <UserProfile /> : <LoginButton />}`の`?`と`:`は、三項演算子(条件演算子、=「条件 ? 真の値 : 偽の値」の形で条件分岐を1行で書ける演算子)を構成しています。

【正解の理由】
`isLoggedIn`が`true`なら`<UserProfile />`、`false`なら`<LoginButton />`を返すという、三項演算子そのものの動きをしています。

【不正解の理由】
• オプショナルチェーン演算子と型注釈:オプショナルチェーン(`?.`)はnull/undefinedチェック用、型注釈はTypeScriptの機能で、いずれも今回の構文とは異なる。
• Nullish合体演算子とオブジェクト分割代入:Nullish合体演算子(`??`)はデフォルト値を設定する演算子で、オブジェクト分割代入とも無関係。
• JSXの特殊構文:`?`と`:`はJSX固有の構文ではなく、JavaScript標準の三項演算子。
• 論理AND演算子とスプレッド構文:論理AND(`&&`)は表示/非表示の切り替えに使う別の演算子で、スプレッド構文(`...`)とも無関係。

← 前の問題問題一覧次の問題 →
アプリで解いてレーティングを上げる(無料・登録不要)