더북(TheBook)
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를 사용하고 있습니다. 이렇게 자기 자신을 타입으로 다시 사용하는 타입을 재귀 타입이라고 부릅니다.