問題一覧に戻る
上級高度な型
問題55: 再帰的な型定義

再帰的な型定義を使って、ネストした構造を表現する方法を学びます。JSONのような階層的なデータ構造やツリー構造を型として定義できます。型が自己参照することで、任意の深さのネストを表現できるようになります。

// 再帰的な型定義
type JSONValue =
| string
| number
| boolean
| null
| JSONValue[]
| { [key: string]: };

const data: JSONValue = {
name: "Alice",
nested: {
value: [1, 2, { deep: true }]
}
};