by jiangshan @jiangshanmeta
Array.unshift의 타입 버전을 구현하세요.
type Result = Unshift<[1, 2], 0> // [0, 1, 2,]
2개의 타입변수를 받는 제네릭을 만들 것입닡다. 앞에 타입변수는 배열입니다.
type Unshift<T extends any[], U> = [U, ...T];
새로 추가할 U를 앞에두고 기존에 T를 뒤에 복사하여 새로운 타입 생성