问题
实现类型版本的 Array.unshift
。
举例,
type Result = Unshift<[1, 2], 0> // [0, 1, 2,]
解答
type Unshift<T extends unknown[], U> = [U, ...T]
拆分
T extends unknown[]
限制T
只能是数组类型- 通过解构加入
U
形成新的类型
2022-03-22 05
实现类型版本的 Array.unshift
。
举例,
type Result = Unshift<[1, 2], 0> // [0, 1, 2,]
type Unshift<T extends unknown[], U> = [U, ...T]
T extends unknown[]
限制 T
只能是数组类型U
形成新的类型