问题
在类型系统里实现通用的 Array.push
。
举例如下,
type Result = Push<[1, 2], '3'> // [1, 2, '3']
解答
type Push<T extends unknown[], U> = [...T, U]
拆分
T extends unknown[]
限制T
只能是数组类型- 通过解构加入
U
形成新的类型
2022-03-22 04
在类型系统里实现通用的 Array.push
。
举例如下,
type Result = Push<[1, 2], '3'> // [1, 2, '3']
type Push<T extends unknown[], U> = [...T, U]
T extends unknown[]
限制 T
只能是数组类型U
形成新的类型