TypeScript · Middle · Запитання 10 з 75
Як працюють перевантаження функцій у TypeScript?
function parse(x: string): number;
function parse(x: number): string;
function parse(x: string | number) { /* ... */ }- ✓Правильна відповідь: Кілька сигнатур для виклику й одна прихована реалізація
- 2Для кожної сигнатури пишеться своя реалізація функції, як у Java
- 3Остання сигнатура перевизначає всі попередні, вони ігноруються
Пояснення
Код, що викликає, бачить лише сигнатури перевантаження, і TS обирає першу відповідну згори вниз. Реалізація має бути сумісною з усіма. Часто перевантаження можна замінити union-параметром або дженериком з умовним типом.