string;
three: string;
/* etc ... */
}
class Something implements ISomething {
one: string;
two: string;
three: string;
/* etc ... */
/* как здесь не перечислять снова все свойства? */
constructor(data: ISomething) {
Object.assign(this, data);
}
}
когда создаёшь класс, который исполняет интерфейс, то приходится перечислять заново все свойства интерфейса, иначе тайпскрипт ругается
ну это правильное поведение
А как вы хотели, если класс имплементирует интерфейс, то он обязан соблюдать контракт, описанный в интерфейсе
базовый класс сделать не вариант?
Обсуждают сегодня