Що робить implements у TypeScript?
У TypeScript ключове слово implements використовується для змушування класу відповідати інтерфейсу.
Це означає, що клас повинен реалізувати всі пропси та методи, описані в інтерфейсі. В іншому випадку TypeScript видасть помилку компіляції.
Синтаксис
ts
interface IAnimal {
name: string;
makeSound(): void;
}
class Dog implements IAnimal {
name: string;
constructor(name: string) {
this.name = name;
}
makeSound() {
console.log("Woof!");
}
}Що відбувається?
- Клас
Dogповинен реалізувати всі пропси та методи інтерфейсуIAnimal. - Якщо хоча б одна з них відсутня — TypeScript покаже помилку.
Приклад помилки
ts
interface Person {
name: string;
age: number;
}
class User implements Person {
name: string;
// Помилка: Властивість 'age' відсутня
}implements з кількома інтерфейсами
Можна реалізувати кілька інтерфейсів, розділених комами:
ts
interface A {
a(): void;
}
interface B {
b(): void;
}
class C implements A, B {
a() {
console.log("A");
}
b() {
console.log("B");
}
}Чому використовувати implements?
- Для контролю структури класу
- Для документації API: зрозуміло, що клас повинен підтримувати
- Для гарантій архітектурної відповідності
- Для модульності та повторного використання: один інтерфейс — багато реалізацій
Важливо:
implements працює тільки на рівні типів. У скомпільованому JavaScript немає інтерфейсів.
Коротка відповідь
Для співбесідиPremium
Коротка відповідь допоможе вам впевнено відповідати на цю тему під час співбесіди.