В чем разница между JavaScript и TypeScript?
Основы TypeScript
TypeScript — надмножество JavaScript со статической типизацией. Он компилируется в обычный JavaScript, а типы существуют только на этапе разработки.
Что даёт TypeScript
- Проверку типов до запуска — опечатки в свойствах, неправильные аргументы, забытая обработка
nullнаходятся в редакторе. - Подсказки и рефакторинг — автодополнение, переименование по всему проекту.
- Документацию в коде — сигнатура функции показывает, что она принимает и возвращает.
function getUserName(user: { name: string } | null): string {
return user?.name ?? 'Гость';
}Чего TypeScript не делает
- не проверяет данные во время выполнения — ответ API может не совпасть с типом;
- не ускоряет код — после компиляции это тот же JavaScript.
Цена
Шаг сборки и время на описание типов, порог входа для сложных типов.
Коротко для собеседования
TypeScript — JavaScript со статическими типами: ошибки находятся до запуска, лучше подсказки и рефакторинг; в рантайме типов нет.
Подробнее: TypeScript для JS-программистов