我有一个带有其他类型的参数的函数:
function a<T extends any[]>(...opts: T){
}
我需要这样声明函数的返回类型:
a(100, "Hello") => number | string;
另一个数组示例:
type B<T extends any[]> = `one of type of element T`
我知道具有多个泛型的非通用方式:
type B<T1, T2, T3> = T1 | T2 | T3;
但是,也许有一些通用的方法?有可能吗?
P.S。关于&
操作的相同问题。
答案 0 :(得分:1)
您可以使用类型查询来获取数组元素的项:
function a<T extends any[]>(...opts: T): T[number]{
return opts[0]
}
a(100, "Hello") // => number | string;