На этой странице

Транспиляция — это процесс преобразования исходного кода из одного языка в другой. В случае 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.

Шаг 3: Скомпилируйте ваш код на TypeScript в JavaScript командой tsc:

ПРИМЕЧАНИЕ: npx — это инструмент, позволяющий запускать пакеты Node.js без их глобальной установки.

tsc — это компилятор TypeScript, который возьмёт наш код на TypeScript и скомпилирует его в JavaScript. Эта команда даст новый файл с именем example.js, который мы можем запустить через Node.js. Теперь, когда мы знаем, как компилировать и запускать код на TypeScript, давайте увидим в действии способность TypeScript предотвращать баги!

Шаг 4: Запустите ваш JavaScript-код через Node.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 так популярен среди разработчиков.