TS. Метод класса не следует своей сигнатуре в интерфейсе
Имеется класс с методом:
public myMethod(age: number, name: string): this {
// code
}
Имеется интерфейс, который описывает данный класс и все его публичные методы, включая тот, что выше:
interface MyInterface {
myMethod(age: number, name: string): this;
}
Приведенный интерфейс действительно отслеживает myMethod и он начнет ругаться, если я нарушу тип данных в методе myMethod, допустим изменив на age: string.
Но мне казалось логичным убрать в таком случае описание из самого метода и превратить его в:
public myMethod(age, name) {
// code
}
Если интерфейс следит за этим делом, то почему нет? Но видимо нет. Что мне теперь приделывать отдельный тип на myMethod? Как можно решить данную проблему?
И как можно задать в интерфейсе параметры конструктора?
interface MyInterface {
new(arg1: string, arg2: []number): <не пойму, а что тут?>;
}
Спасибо