假设您有一个这样的打字稿class

 class CompExt extends Comp {
        public static sum(a: number, b: number): number {return a+b};
    };


函数sum将与原始类明显不同,并且必须是静态的。

您的实际代码是

let ff: Function = CompExt;
console.log('the summ works fine',ff.sum(1,2));


代码编辑器和编译都会向我发出警告:

bas.ts(47,16): error TS2339: Property 'sum' does not exist on type 'Function'.


有没有办法避免编译错误?如果我使用any而不是Function,一切都很好,但我想知道Typescript是否支持这种样式。

最佳答案

只是不要将类型指定为Function,因为它不是泛型函数,而是CompExt

如果确实要指定类型,则可以使用:let ff: typeof CompExt = CompExt

10-06 07:43