我正在閱讀 TypeScript 手冊并嘗試轉換以下內容:
function map<Input, Output>(
arr: Input[],
func: (arg: Input) => Output
): Output[] {
return arr.map(func);
}
到箭頭函式。所以我這樣做了,我認為這是正確的:
const map2 = <Input, Output>(
arr: Input[],
func: (arg: Input) => Output
): Output[] => {
return arr.map(func);
};
但是我想知道如果我想為這樣的函式使用型別別名,我將如何實作它:
type Fn = <X, Y>(x: X) => Y;
const map2 = <Input, Output>(
arr: Input[],
func: Fn
): Output[] => {
return arr.map(func);
};
由于 Output[],上面的這個例子產生了一個錯誤。那么我將如何定義輸出型別,map2因為Output[]將不再作業?任何幫助將不勝感激!
uj5u.com熱心網友回復:
我們不能Fn以您描述的確切方式使用,我們需要以Fn允許我們在使用型別時傳入泛型的方式進行定義。像這樣:
type Fn<X, Y> = (x: X) => Y;
const map2 = <Input, Output>(
arr: Input[],
func: Fn<Input, Output>
): Output[] => {
return arr.map(func);
};
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/376251.html
上一篇:在兩個地方渲染一個d3圖表使它在第一個區域渲染兩次?
下一篇:使用LINQ過濾串列
