可以创建具有以下形状的接口:
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