我想为其第一个元素是特定类型(例如Function)的数组定义一个类型,其余元素是空的类型。例如:在Typescript中,为第一个元素比其他元素更具体的数组定义一个类型
type FAs = [Function, {}, {}, {}, ...]; // pseudo code
这样的事情可能吗?
的目的是提供一个单参数函数如下:
const myCaller = ([fun, ...args]: FAs) => fun.apply(args);
另一种方法是使用两个参数来myCaller
,像这样:
const myCaller = (fun: Function, args: any[]) => fun.apply(args);
但出于美学原因我宁愿使用一个参数。我也怀疑类型系统是否支持什么可以说是任意长度的元组。也许这样的事情出于我不明白的计算机科学原因是不可取的。
有点相关:https://github.com/Microsoft/TypeScript/issues/212 – 2017-06-07 07:30:08