DRILL 04 / コレクション
オブジェクト型と省略可能なプロパティ
type で値の形を定義し、省略される値へ安全な代替値を用意します。
YOUR TASK
displayUser() を完成させる
ユーザーの表示名と役割を `表示名 [role]` の形式で返してください。nickname がない場合は name を表示名にします。
- 入力
- user は name、role、任意の nickname を持つオブジェクトです。
- 出力
- nickname を優先した表示用文字列を返します。
SYNTAX RECALL
確認する構文
type User = {
name: string;
nickname?: string;
};
const label = user.nickname ?? user.name; - オブジェクトの形を type で定義する
- ? で省略可能なプロパティを表す
- ?? で undefined の場合だけ代替値を使う
STEPWISE HINTS
ヒント
01考え方の方向
nickname の型には `?` を付けます。
02使うデータ構造
`nickname ?? name` は nickname が undefined の場合に name を選びます。
03擬似コード
選んだ表示名と role をテンプレート文字列へ入れます。
AFTER ACCEPTED
解説
AC 後に解説が開きます
まずは自分の言葉で方針を説明し、コードに落としてみましょう。