logoProsperBao

Unshift

2022-03-22 05

题目来源(type-challenges)

问题

实现类型版本的 Array.unshift

举例,

type Result = Unshift<[1, 2], 0> // [0, 1, 2,]

解答

type Unshift<T extends unknown[], U> = [U, ...T]

拆分

  1. T extends unknown[] 限制 T 只能是数组类型
  2. 通过解构加入 U 形成新的类型