TypeScript онлайн - IDE, редактор, компилятор, интерпретатор

RSS

Компилируйте TypeScript 5.6 в JavaScript и запускайте его в браузере. Вывод консоли и сгенерированный JavaScript отображаются рядом.

TypeScript 5.6 · Работает в браузере, поэтому ваш код никогда не попадает на наши серверы.
main.tsTypeScript
Результат

            
        
Ctrl/⌘ + Enter для запуска

Возможности онлайн-компилятора TypeScript (IDE, редактор и интерпретатор)

Пишите, запускайте и тестируйте код на TypeScript онлайн бесплатно. Эта страница — онлайн-IDE, редактор кода, компилятор и интерпретатор TypeScript в одном: введите код, нажмите «Запустить» и сразу увидите результат. Все работает в браузере — ничего не нужно устанавливать и не нужно создавать аккаунт.

  • Мгновенный запуск кода: TypeScript 5.6, вывод менее чем за секунду после первой загрузки.
  • Редактор кода: подсветка синтаксиса, номера строк, подсветка парных скобок и автозакрытие скобок.
  • Понятные ошибки: сообщения об ошибках и предупреждения появляются в панели вывода так же, как на вашем компьютере.
  • Полноэкранный режим: Ctrl/⌘ + Shift + F, настраиваемый размер шрифта, расположение рядом или друг под другом и изменяемые размеры панелей.
  • Автосохранение: ваш код хранится в браузере; скачайте его как main.ts или скопируйте одним щелчком.
  • Безопасные эксперименты: ограничение времени и кнопка «Остановить» прерывают бесконечные циклы.
  • Конфиденциальность: среда выполнения TypeScript работает на вашем устройстве, поэтому код никогда не загружается на сервер.
  • Темная тема и сочетания клавиш: Ctrl/⌘ + Enter запускает код.
  • Бесплатно: без регистрации и ограничений использования.

Изучайте другие языки программирования

Как пользоваться онлайн-компилятором TypeScript

  1. Напишите или вставьте код TypeScript в редактор или начните с примера (кнопка Сбросить пример возвращает его).
  2. Нажмите Запустить или используйте Ctrl + Enter (⌘ + Enter на Mac).
  3. Ваш код компилируется в JavaScript. Если компилятор находит синтаксическую ошибку, она выводится с кодом ошибки TS, строкой и столбцом, и ничего не запускается.
  4. Если компиляция прошла успешно, JavaScript выполняется. Вывод console.log появляется на панели Результат, а под редактором можно открыть Сгенерированный JavaScript, чтобы увидеть, что именно создал компилятор.
  5. Выберите ограничение времени в 5, 15 или 60 секунд либо нажмите Остановить, чтобы завершить запуск досрочно.

При первом запуске страница скачивает официальный компилятор TypeScript, около 3 МБ. Браузер кеширует его, поэтому последующие запуски начинаются быстро.

И компиляция, и выполнение происходят в Web Worker в вашем браузере. Ваш код не загружается и не хранится на наших серверах. Редактор сохраняет ваш последний код в локальном хранилище браузера и больше нигде.

Что поддерживается

Эта страница использует TypeScript 5.6, официальный компилятор Microsoft. Целевая версия — ES2022, а результат выполняется в движке JavaScript вашего браузера.

  • Весь синтаксис TypeScript: аннотации типов, интерфейсы, псевдонимы типов, обобщения (generics), объединения и пересечения типов, перечисления (enum), модификаторы доступа, satisfies, as const и многое другое.
  • Современный JavaScript на выходе: классы, async/await и опциональная цепочка остаются без изменений.
  • await на верхнем уровне, таймеры и промисы — так же, как в онлайн-компиляторе JavaScript.

Ограничения:

  • Только транспиляция. Компилятор удаляет типы и сообщает о синтаксических ошибках, но не выполняет полную проверку типов. Код вроде const n: number = "text" компилируется и выполняется. Когда нужны семантические ошибки типов, используйте tsc --noEmit или ваш редактор.
  • Нет DOM: код выполняется в воркере, поэтому document и window недоступны.
  • Нет импортов: пакеты npm, инструкции import и API Node.js использовать нельзя.

Краткий справочник по TypeScript

type Shape =
  | { kind: "circle"; r: number }
  | { kind: "rect"; w: number; h: number };

function area(s: Shape): number {
  switch (s.kind) {
    case "circle": return Math.PI * s.r ** 2;
    case "rect":   return s.w * s.h;
  }
}

function first<T>(items: T[]): T | undefined {
  return items[0];
}

const shapes: Shape[] = [{ kind: "circle", r: 1 }, { kind: "rect", w: 2, h: 3 }];
console.log(shapes.map(area));   // [3.141592653589793, 6]
console.log(first(shapes)?.kind);
ПонятиеСинтаксис
Переменная с типомlet count: number = 0;
Интерфейсinterface User { id: number; name?: string }
Тип-объединениеtype Id = string | number;
Обобщённая функцияfunction wrap<T>(v: T): T[] { return [v]; }
Массив только для чтенияconst xs: readonly number[] = [1, 2];
Перечислениеenum Dir { Up, Down }

Советы

  • Откройте Сгенерированный JavaScript, чтобы узнать, как компилируются такие возможности, как перечисления, свойства параметров и поля классов. Это быстрый способ понять, что TypeScript делает во время выполнения.
  • Помните, что типы исчезают во время выполнения. Чтобы проверять данные извне (например, разобранный JSON), пишите проверки времени выполнения или защитники типов (type guards), такие как function isUser(x: unknown): x is User.
  • Нужно привести вывод в порядок, прежде чем копировать его в проект? Вставьте его в форматирование и минификацию JavaScript.
Совет: ошибка вроде TS1005: ';' expected означает, что код не удалось разобрать. Исправьте код в строке и столбце, указанных в выводе, и запустите снова.

Часто задаваемые вопросы

Проверяет ли этот инструмент мои типы?

Нет. Он использует режим транспиляции компилятора, который сообщает только о синтаксических ошибках. Это делает его быстрым и лёгким, но несоответствия типов не выявляются. Для полной проверки запускайте tsc локально или используйте редактор со службой языка TypeScript.

Чем TypeScript отличается от JavaScript?

TypeScript — это JavaScript с необязательной статической типизацией. Браузеры не могут выполнять TypeScript напрямую, поэтому сначала он компилируется в обычный JavaScript: типы удаляются, а несколько возможностей, существующих только в TypeScript, например перечисления, заменяются более простыми конструкциями. Результат этого шага можно увидеть на этой странице.

Какая версия TypeScript используется?

TypeScript 5.6, целевая версия вывода — ES2022.

Можно ли импортировать библиотеки?

Нет. При каждом запуске компилируется и выполняется один файл без разрешения модулей, поэтому инструкции import и пакеты npm не поддерживаются. Другие полезные утилиты смотрите среди всех наших инструментов разработчика.

Обновлено

Скопировано в буфер обмена