UNIT 3 Skill Tree

DRILL 05 / 安全な分岐

ユニオン型と型の絞り込み

複数の型を受け取る関数で、実行時の判定から安全に処理を分けます。

目安 10分 TypeScript union type / typeof

YOUR TASK

normalizeId() を完成させる

文字列または数値のIDを表示用に正規化してください。数値は先頭に # を付け、文字列は前後の空白を除いて大文字にします。

入力
id は string または number です。
出力
数値なら `#42`、文字列なら `USER-42` のような文字列を返します。

SYNTAX RECALL

確認する構文

function print(value: string | number): string {
  if (typeof value === "number") {
    return value.toFixed(0);
  }
  return value.trim();
}
  • | で受け取れる型を列挙する
  • typeof で現在の型を判定する
  • 分岐後の型に対応するメソッドを使う

STEPWISE HINTS

ヒント

01考え方の方向

まず `typeof id === "number"` を判定します。

02使うデータ構造

number の分岐ではテンプレート文字列で # を付けます。

03擬似コード

string の分岐では trim() の後に toUpperCase() を呼びます。

AFTER ACCEPTED

解説

AC 後に解説が開きます

まずは自分の言葉で方針を説明し、コードに落としてみましょう。