Вопрос проверяет понимание различий между TypeScript и JavaScript, что важно для оценки базовых знаний фронтенд-разработчика.
TypeScript (TS) — это строго типизированный язык программирования, который является надмножеством JavaScript (JS). Это означает, что любой корректный JS-код также является корректным TS-кодом. TS добавляет статическую типизацию, интерфейсы, дженерики и другие возможности, которые помогают разработчикам писать более надёжный и поддерживаемый код. Однако браузеры и Node.js не понимают TS напрямую, поэтому код на TS компилируется в обычный JS с помощью компилятора tsc.
// JavaScript — без типов
function greet(name) {
return "Hello, " + name;
}
// TypeScript — с типами
function greet(name: string): string {
return `Hello, ${name}`;
}
// Ошибка в TS: аргумент должен быть строкой
// greet(42); // Ошибка компиляцииTypeScript особенно полезен в крупных проектах, где много разработчиков и сложная бизнес-логика. Он снижает количество ошибок, связанных с типами, и упрощает рефакторинг. Для небольших скриптов или прототипов можно обойтись чистым JavaScript, но в долгосрочной перспективе TS окупается за счёт надёжности и поддерживаемости.
Итог: TypeScript — это инструмент для повышения качества кода, который стоит применять в проектах среднего и большого размера, где важна предсказуемость и масштабируемость.