Интерфейс - это общий термин в ОО-программировании.
Это как класс, в котором он определяет функции, которые должны появляться в объекте, но вы не можете использовать его напрямую. Вместо этого вы должны использовать класс, который его реализует.
Таким образом, вы не можете создать экземпляр HTMLElement, но поскольку Div реализует HTMLElement, а Span реализует HTMLElement, вы можете создайте экземпляр Div или Span, и любой из них будет удовлетворять требованию иметь HTMLElement.
Интерфейсы обычно используются, чтобы избежать проблем в множественном наследовании. Класс может реализовывать несколько интерфейсов, которые имеют перекрывающиеся требования (скажем, для обоих интерфейсов требуется метод Dance
), тогда как если он расширен , то два класса, которые имеют метод Dance
, вам нужно будет выбрать, какой из двух родительские классы для получения Dance
от игнорируемого).
Обратите внимание, что JavaScript не имеет функции языка интерфейса (хотя TypeScript делает ). Термин просто используется в документации DOM, так как он написан в общих терминах ОО, а не в JavaScript указанных c терминах.