Я пытаюсь понять тему интерфейса в TypScript, когда я сталкивался с типом класса, я получил этот код из официальных документов
interface ClockConstructor {
new (hour: number, minute: number);
}
class Clock implements ClockConstructor {
currentTime: Date;
constructor(h: number, m: number) { }
}
Я могу понять, что Clock
не подходит для new (hour: number, minute: number);
подписи new (hour: number, minute: number);
поэтому мы получаем ошибку.
Но в документах объяснение - это то, что я не могу понять. Это происходит следующим образом:
Это связано с тем, что, когда класс реализует интерфейс, проверяется только сторона экземпляра класса. Поскольку конструктор находится в статической части, он не входит в эту проверку.
Любое объяснение будет оценено.