type Recursive = {
name: string;
children: Recursive[];
};
const recur1: Recursive = {
name: 'test',
children: [],
};
const recur2: Recursive = {
name: 'test',
children: [
{ name: 'test2', children: [] },
{ name: 'test3', children: [] },
],
};
Recursive 객체 타입을 선언했는데, Recursive 객체의 속성 타입으로 다시 Recursive를 사용하고 있습니다. 이렇게 자기 자신을 타입으로 다시 사용하는 타입을 재귀 타입이라고 부릅니다.