是否可以为子类上的重写方法推断参数类型?

时间:2019-05-24 17:25:32

标签: typescript

如果TypeScript中有两个具有父/子关系的类,则需要在子类上写出重写方法的类型:

class Parent {
    method(a: string, b: string): string {
        return a + b;
    }
}

class Child extends Parent {
    method(a: string, b: string) {
        return 'child ' + a + b;
    }
}

如果类型不匹配,则错误:

class Child extends Parent {
    method(a: number, b: string) {
 // ~~~~~~ Property 'method' in type 'Child' is not assignable to the same property in base type 'Parent'.
        return 'child ' + a + b;
    }
}

如果不指定类型,则会隐式包含任何错误:

class Child extends Parent {
    method(a, b) {
        // ~  ~  Parameters 'a', 'b' implicitly have 'any' types.
        return 'child ' + a + b;
    }
}

是否可以通过TypeScript推断ab的类型而不必从Parent复制/粘贴它们?

0 个答案:

没有答案