最初の要素が特定の型(たとえば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 –