Разобрался с перегрузками конструкторов в TypeScript ⚡️ В классах это… — xycu2.rar — TG.ME

Разобрался с перегрузками конструкторов в TypeScript ⚡️

В классах это работает так же, как и для обычных функций: пишем сигнатуры для разных вариантов вызова сверху, а всю логику реализуем в одном универсальном конструкторе снизу.
class Video {
name: string = '';
length: number = 0;

// Сигнатуры перегрузок
constructor(name: string)
constructor(name: string, description: string, length: number)

// Тело конструктора (реализация)
constructor(name: string, description?: string, length?: number) {
this.name = name;
this.length = length || 60;
}
}

// Так можно:
new Video('js');
new Video('js', 'описание', 10);

// А вот так TS не даст сделать, так как сценарий не описан:
// new Video('js', 'описание');

export {}


Очень удобная штука для строгой типизации, когда класс может создаваться с разным набором аргументов.
17 октября 2026 г. 16