我想爲其第一個元素是特定類型(例如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