Транспиляция — это процесс преобразования исходного кода из одного языка в другой. В случае TypeScript это процесс преобразования кода на TypeScript в код на JavaScript. Это необходимо, потому что браузеры и Node.js не выполняют код на TypeScript напрямую.
Самый распространённый способ запустить код на TypeScript — сначала скомпилировать его в JavaScript. Сделать это можно с помощью компилятора TypeScript tsc.
Шаг 1: Напишите ваш код на TypeScript в файле, например example.ts.
type User = {
name: string;
age: number;
};
function isAdult(user: User): boolean {
return user.age >= 18;
}
const justine = {
name: 'Justine',
age: 23,
} satisfies User;
const isJustineAnAdult = isAdult(justine);Шаг 2: Установите TypeScript локально с помощью менеджера пакетов:
В этом примере мы используем npm; за подробностями можно обратиться к нашему введению в менеджер пакетов npm.
npm i -D typescript # -D — сокращение для --save-devШаг 3: Скомпилируйте ваш код на TypeScript в JavaScript командой tsc:
npx tsc example.tsПРИМЕЧАНИЕ:
npx— это инструмент, позволяющий запускать пакеты Node.js без их глобальной установки.
tsc — это компилятор TypeScript, который возьмёт наш код на TypeScript и скомпилирует его в JavaScript.
Эта команда даст новый файл с именем example.js, который мы можем запустить через Node.js.
Теперь, когда мы знаем, как компилировать и запускать код на TypeScript, давайте увидим в действии способность TypeScript предотвращать баги!
Шаг 4: Запустите ваш JavaScript-код через Node.js:
node example.jsВы должны увидеть вывод вашего кода на TypeScript в терминале.
Если в вашем коде на TypeScript есть ошибки типов, компилятор TypeScript поймает их и не даст вам запустить код. Например, если поменять свойство age у justine на строку, TypeScript выбросит ошибку:
Изменим наш код так, чтобы намеренно внести ошибку типа:
// @errors: 2322 2554
type User = {
name: string;
age: number;
};
function isAdult(user: User): boolean {
return user.age >= 18;
}
const justine: User = {
name: 'Justine',
age: 'Secret!',
};
const isJustineAnAdult: string = isAdult(justine, "I shouldn't be here!");Как видите, TypeScript очень помогает ловить баги ещё до того, как они произойдут. Это одна из причин, почему TypeScript так популярен среди разработчиков.