Конвертер TypeScript в JavaScript — Numio
Удаляет типы TypeScript — аннотации, интерфейсы, псевдонимы типов и дженерики — и выдаёт чистый JavaScript. Работает для .ts и .tsx: JSX сохраняется как есть, поэтому TSX-компонент становится JSX. Код конвертируется на сервере; ничего не проверяется на типы, не собирается в бандл и не запускается.
Посмотреть, как фрагмент TypeScript выглядит на чистом JavaScript, прежде чем использовать его в JS-проекте.
Code is converted on the server. No type-checking, execution or dependency bundling is performed. JSX is preserved.
TypeScript
JavaScript
Когда пригодится
- Посмотреть, как фрагмент TypeScript выглядит на чистом JavaScript, прежде чем использовать его в JS-проекте.
- Превратить React-компонент .tsx в .jsx, удалив типы props и сохранив JSX.
Как пользоваться
- Вставьте TypeScript или TSX либо загрузите пример (интерфейс и функция, дженерики, JSX). Загрузка примера заменяет ваш ввод.
- Посмотрите JavaScript справа. Аннотации типов и интерфейсы исчезают; код, существующий во время выполнения, например enum, выводится как JavaScript.
- Скопируйте результат. Если нужна типобезопасность, проверьте исходный TypeScript отдельно командой tsc --noEmit.
Ввод TypeScript
interface User { name: string }
const greet = (user: User): string => "Hello, " + user.name;Вывод JavaScript
const greet = (user) => "Hello, " + user.name
Подробности и ограничения
Ваш код отправляется на сервер douni.one для конвертации. Не вставляйте секреты, API-ключи или исходный код, которым нельзя делиться.
Удаление типов — это не проверка типов: const count: number = "text" конвертируется без ошибки. Проверяйте типы компилятором TypeScript.
JSX остаётся JSX. Чтобы запустить React-компоненты в браузере, по-прежнему нужен этап сборки JSX вашего проекта.
Конструкции со значениями времени выполнения, например enum, порождают код JavaScript, а не исчезают.
Конвертируется только вставленный код: импорты не разрешаются, файлы не собираются в бандл, а современный синтаксис не понижается для старых браузеров.
FAQ
Можно ли конвертировать TSX в JSX?
Да. Вставьте компонент .tsx: типы props и интерфейсы удаляются, а JSX остаётся без изменений, так что результат можно сохранить как .jsx. Компиляция JSX в вызовы React.createElement в этот инструмент не входит.
Чем это отличается от запуска tsc?
tsc проверяет типы во всём проекте и может выдавать JavaScript для выбранной цели. Эта страница лишь удаляет типы из вставленного кода с помощью TypeScript-трансформа Babel, сохраняет современный синтаксис и никогда не сообщает об ошибках типов. Для целых проектов запускайте локально tsc или бандлер вроде esbuild.
Почему код с ошибками типов всё равно конвертировался?
Конвертация синтаксическая. Присваивания и вызовы функций не проверяются на соответствие типам, поэтому для поиска ошибок типов запускайте компилятор TypeScript в своём проекте.
Что проверить при синтаксической ошибке?
Посмотрите на указанные строку и столбец, скобки вокруг них и аннотацию типа в этом месте. Сократите код до небольшого фрагмента, чтобы локализовать проблему; при ошибке соединения нажмите Retry.