可以如下修改函式的呼叫簽名:
給定 fn1:
type fn1 = ( a: string, b: number, c: string )=>void
需要偽代碼輸出:
type fn2 = ( ...fn1.parameters, d: number )=>void // new type: ( a: string, b: number, c: string, d: number )=>void
//or
type fn2 = ( pick<fn1.parameters,'a','c'>, d: number )=>void // new type: ( a: string, c: string, d: number )=>void
uj5u.com熱心網友回復:
您可以使用 type 實用程式Parameters<Type>從函式中提取引數資訊:
TS游樂場
type Fn1 = (a: string, b: number, c: string) => void;
type Fn2 = (...params: [...Parameters<Fn1>, number]) => void; // (params_0: string, params_1: number, params_2: string, params_3: number) => void
type Fn3 = (...params: [a: Parameters<Fn1>[0], c: Parameters<Fn1>[2], d: number]) => void; // (a: string, c: string, d: number) => void
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/409682.html
標籤:
上一篇:如何縮小字串和正則運算式的聯合?
下一篇:基于條件引數值的函式回傳型別
