Ответ вслух Junior Базовые типы обновлено

Зачем TypeScript

Вопрос

Что даёт TypeScript и какие у него границы?

Попробуйте сами

Ответьте вслух за 2 минуты, как на собесе. Потом сверьтесь с тезисами: что прозвучало, а что нет.

Показать ответ и разбор

Коротко

Главное - ошибки ловятся на сборке, а не у пользователя, и рефакторинг становится механическим: переименовал поле - компилятор показал все места. Типизация структурная: подходит любой объект нужной формы, наследование не требуется.

Что должно прозвучать в ответе

  • ошибки на этапе сборки вместо рантайма

  • типы как документация, которая не устаревает

  • рефакторинг с проверкой всех мест использования

  • типизация структурная, а не по имени

  • типов нет в рантайме - данные из сети надо проверять

  • any и as отключают проверку и накапливают долг

Что могут спросить следом

  • Чем unknown лучше any
  • Зачем zod, если есть типы
  • Что такое структурная типизация на примере

Разбор

Главное - ошибки ловятся на сборке, а не у пользователя, и рефакторинг становится механическим: переименовал поле - компилятор показал все места.

Типизация структурная: подходит любой объект нужной формы, наследование не требуется.

Две важные границы, которые обязательно называют на собеседовании. Первая: типов в рантайме нет. response as User ничего не проверяет - данные из сети надо валидировать (zod, io-ts), иначе типы лишь создают ложное чувство безопасности. Вторая: any и неаккуратный as выключают проверку точечно и незаметно - долг копится именно там.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.