Posted at

TypeScriptで階層構造を持ったオブジェクトの型を定義する

TypeScriptで階層構造を持ったオブジェクトの型を定義している例があまり見つからなかったので、ここにメモ代わりに記載。

他にもっといいやり方が思いつかなかったが、interface を階層的に持つことで解決。


sample.ts

interface IChartDataSets {

label: string,
data: number[],
borderColor: string,
backgroundColor: string
}

interface IChartData {
labels: string[],
datasets: IChartDataSets[]
}

let chartData: IChartData = {
labels: ['8/1', '8/2', '8/3'],
datasets: [
{
label: '気温',
data: [30, 32, 29],
borderColor: "rgba(0,0,255,1)",
backgroundColor: "rgba(0,0,0,0)"
}
]
};