ДокументыИзображенияМедиаИнструменты PDF

Конвертер TypeScript в JavaScript Online

Транспилируйте TypeScript в JavaScript прямо в браузере. Без установки Node.js или tsc. Удобно для изучения TS и обмена кодом.

function greet(user: User) {
  const greeting = "Hello, " + user.name;
  return greeting;
}

const users: User[] = [
  { name: "John", age: 30, active: true },
];
Processed in your browser

TypeScript в JavaScript: без установок

Без Node.js и npm

Транспилируйте TypeScript прямо в браузере. Без установки tsc, tsconfig.json и зависимостей.

Официальный компилятор

Используется компилятор TypeScript от Microsoft, скомпилированный в WebAssembly — результат идентичен локальному tsc.

Изучайте TypeScript

Точно поймите, что компилятор генерирует из ваших типов, интерфейсов и дженериков.

Делитесь кодом

Передавайте JavaScript-сниппеты командам или в среды, где TypeScript не настроен.

Три шага — никаких сложностей

1

Вставьте код TypeScript

Вставьте файл .ts: интерфейсы, типы, дженерики, перечисления, декораторы или любые конструкции TypeScript, которые нужно преобразовать в чистый JavaScript.

2

Мгновенная транспиляция

Официальный компилятор TypeScript (скомпилированный в WebAssembly) удаляет аннотации типов и транспилирует код в ES2015+ JavaScript за миллисекунды.

3

Скопируйте результирующий JavaScript

Получите эквивалентный JavaScript, готовый для выполнения в браузере или Node.js, а также для передачи командам, которые не используют TypeScript.

Остались вопросы?

Транспилятор удаляет все элементы, характерные исключительно для TypeScript и не имеющие представления в JavaScript: аннотации типов (: string, : number, : boolean, : T[] и т. д.), интерфейсы (interface User {}), псевдонимы типов (type ID = string), дженерики (<T>, <T extends U>), модификаторы доступа (public, private, protected, readonly в классах), перечисления (enum Direction {} преобразуется в объект JavaScript), оператор утверждения типа as, ключевое слово declare для объявлений окружения и экспериментальные декораторы (@Component, @Injectable). Управляющие структуры, функции, классы (их значимая часть), модули import/export и вся логика программы сохраняются без изменений.

Онлайн-транспилятор использует официальный компилятор TypeScript (разработан Microsoft, опубликован как open source в октябре 2012 года, текущая версия 5.x) с параметром target ES2015 или ES2017. Для реального продакшена правильный подход — установить TypeScript через npm install typescript, настроить tsconfig.json с нужной строгостью (strict: true — рекомендуемая практика с TypeScript 2.3) и запустить tsc или использовать сборщики Vite, esbuild, SWC либо webpack с ts-loader. Преимущество онлайн-транспилятора — скорость для исследования, обучения или обмена сниппетами; он не заменяет продакшн-тулчейн с проверкой типов, source maps и оптимизацией бандлов.

TypeScript поддерживает две системы декораторов: устаревшие (--experimentalDecorators, доступны с TypeScript 1.5 в 2015 году, используются Angular, NestJS и inversify) и декораторы TC39 Stage 3 (реализованы в TypeScript 5.0, март 2023 года, в соответствии с предложением ECMAScript). Онлайн-транспилятор поддерживает обе системы через соответствующую конфигурацию. Устаревшие декораторы генерируют JavaScript-код с вызовами __decorate() и __metadata(); декораторы TC39 Stage 3 генерируют более чистый код согласно стандартному предложению ECMAScript.

TypeScript поддерживает JSX (синтаксис шаблонов React) через файлы .tsx. Параметр jsx компилятора управляет преобразованием JSX: react (в React.createElement(), классическое поведение), react-jsx (через новый JSX transform React 17+), react-native (без преобразования) и preserve (для обработки другим транспилятором, например Babel). Для проектов React на TypeScript рекомендуется использовать Vite (esbuild для TSX) или CRA/Next.js, которые включают транспиляцию TSX по умолчанию.

Да. Импорты и экспорты модулей ES6 (import x from 'y', export default, export const) сохраняются по умолчанию, если целевой уровень — ES2015 или выше. TypeScript также удаляет импорты, относящиеся только к типам (import type { User } from './types'), поскольку они не имеют представления во время выполнения. При целевом уровне CommonJS (module: commonjs в tsconfig) импорты/экспорты преобразуются в require()/module.exports — систему модулей Node.js. Для использования в браузере с нативными ES-модулями наиболее подходит цель ES2015 с module: ESNext.

Да. TypeScript был создан Андерсом Хейлсбергом (также проектировавшим C# и Turbo Pascal) в Microsoft и опубликован как open source в октябре 2012 года. Официальное определение: TypeScript — «типизированный JavaScript для масштабных приложений». Любой валидный JavaScript является валидным TypeScript — вы можете переименовать любой файл .js в .ts без изменений. TypeScript добавляет систему типов (аннотации, интерфейсы, дженерики), перечисления, экспериментальные декораторы и ряд функций продвинутых стадий ECMAScript. Компилятор tsc был первым широко принятым современным транспилятором JavaScript — предшественником нынешней экосистемы Babel, esbuild, SWC и Vite.

TypeScript в JavaScript онлайн: транспилируйте TS без установки Node.js или tsc

TypeScript — язык программирования, разработанный Microsoft и опубликованный как open source в октябре 2012 года. Его создал Андерс Хейлсберг — также ответственный за проектирование C# (2000) и Turbo Pascal (1983) — с целью масштабировать JavaScript для крупных приложений посредством опциональной статической системы типов. TypeScript является синтаксическим надмножеством JavaScript (ECMAScript): любой валидный JavaScript является валидным TypeScript, а компилятор tsc (TypeScript Compiler) выдаёт стандартный JavaScript. TypeScript 5.x (ветка мажорных версий, начатая с TypeScript 5.0 в марте 2023 года) входит в число наиболее востребованных языков по данным Stack Overflow Developer Survey 2024, с массовым распространением в экосистемах Angular (требует TypeScript начиная с версии 2 в 2016 году), NestJS, Next.js и фактически любых крупных фронтенд-проектах. Потребность в онлайн-транспиляторе возникает в нескольких сценариях: быстрое изучение компиляции конкретной возможности TypeScript без создания локального проекта, интерактивное освоение системы типов, передача кода разработчикам или командам, работающим с чистым JavaScript, а также прототипирование сниппетов.

Процесс транспиляции TypeScript в JavaScript состоит по существу в стирании типов (type erasure): компилятор анализирует TypeScript-код, проверяет согласованность системы типов (в режиме полной проверки типов, недоступной при чистой транспиляции) и генерирует JavaScript, удаляя всю информацию о типах, не имеющую представления во время выполнения. Удаляются: аннотации типов переменных, параметров и возвращаемых значений функций; полные интерфейсы и псевдонимы типов (их нет в JavaScript); модификаторы доступа в классах (public/private/protected — только TypeScript); параметры типов в дженериках; утверждения типов (as Type, <Type>значение); объявления окружения (declare). Преобразуются (а не просто удаляются): перечисления (enum) — в объекты JavaScript с двунаправленным отображением; устаревшие декораторы с --experimentalDecorators — с генерацией вспомогательного кода __decorate() и __metadata(); функции продвинутых стадий ECMAScript, реализованные TypeScript раньше появления в движках.

Экосистема инструментов транспиляции TypeScript существенно эволюционировала. Оригинальный компилятор tsc (написан на TypeScript, доступен как npm-пакет typescript с 2012 года) является эталоном поведения и обеспечивает полную проверку типов. Для ускорения сборки больших проектов появились альтернативы, ставящие скорость транспиляции выше проверки типов: esbuild (Evan Wallace, 2020, написан на Go, в 10–100 раз быстрее tsc), SWC (2019, написан на Rust, используется Next.js и Vercel) и трансформатор TypeScript для Babel (@babel/plugin-transform-typescript, 2018). Эти инструменты выполняют стирание типов без их проверки — для проверки типов в CI/CD параллельно запускается tsc --noEmit. Vite (Evan You, 2020) использует esbuild для транспиляции TypeScript в режиме разработки и Rollup для продакшена. Convertir.ai применяет официальный компилятор TypeScript, скомпилированный в WebAssembly, гарантируя точное соответствие поведению tsc — весь процесс выполняется в браузере без отправки кода на сервер.