Если есть функция на TypeScript, принимающая два числовых параметра и возвращающая их сумму, что произойдёт, если после компиляции вместо чисел передать строки?

TypeScript-типы удаляются при компиляции. Если JavaScript-функция выполняет a+b со строками, получится конкатенация, а не числовая сумма.

Короткий ответ

Что ответить на собеседовании

TypeScript-типы удаляются при компиляции. Если JavaScript-функция выполняет a+b со строками, получится конкатенация, а не числовая сумма.

Подробный разбор

Ответ с пояснениями

TypeScript-типы удаляются при компиляции. Если JavaScript-функция выполняет a+b со строками, получится конкатенация, а не числовая сумма.

Например, вызов с '2' и '3' вернёт '23', если внутри нет runtime-проверки или преобразования. Статический контракт не защищает от JavaScript-потребителя, any или внешнего JSON. На границах проверяйте typeof и допустимость числа либо явно согласуйте преобразование.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее