如何使用具有函数类型和其他类型的接口参数调用方法



可以创建具有以下形状的接口:

export interface GenericType<T> {
(data: T): void;
hasLimit?: boolean;
}

但是如何提供一个为其实现接口的对象呢?

我可以将界面更改为:

export interface GenericType<T> {
callback: (data: T) => void;
hasLimit?: boolean;
}

并提供适合形状的对象:

methodname({callback, true})

但是,如何在不更改接口的情况下为对象提供布尔参数呢?

您不能使用单个语句创建它,而应声明一个变量并使用以下属性:

const f = (data: string): void => { 
console.log(data);
};
f.hasLimit = true;

游乐场:https://www.typescriptlang.org/play/?ssl=9&ssc=19&pln=6&pc=1#code/JYOwLgpgTgZghgYwgAgOIRNYCAqBPABwgB4cA+ZAbwFgAoZB5ACgBM4w4AuZHASm4BuAe2AsA3HUbIAFnADOAGWABbYGAD83AEZChAGwhwQE2gF86dBEJBywyGMgC8zNh262ooAOb9kw0U4UlMiSjFY2+hAAdHpCXqzscLwmpiYwUbKKKmpOyGBQAK4QJpbWtshcaBhYuIQkHt4UzjBiQA

最新更新