Форматер JavaScript
Отформатируйте неаккуратный или минифицированный JavaScript с помощью этого форматера JavaScript. Вставьте код, и инструмент разберет его как ES-модуль, а затем выведет заново с отступами в два пробела, одним оператором на строку, единообразными пробелами вокруг операторов и точками с запятой в конце операторов, сохранив комментарии. При ошибках синтаксиса инструмент сообщит о них, а не будет угадывать, поэтому разработчики получат читаемый и корректный код для проверки, отладки и документации.
Часто задаваемые вопросы
Как работает форматер JavaScript?
Инструмент разбирает код в синтаксическое дерево как ES-модуль, а затем выводит это дерево в единообразном стиле. Поскольку код разбирается, а не обрабатывается набором текстовых правил, структура результата всегда соответствует исходному коду.
Какой стиль используется для результата?
Блоки имеют отступ в два пробела, каждый оператор находится на отдельной строке, вокруг операторов ставятся пробелы, а в конце операторов — точки с запятой. Короткие литералы объектов и массивов остаются в одной строке, а кавычки в строках и шаблонные литералы сохраняются без изменений.
Можно ли изменить отступы или другие настройки?
Нет, у форматера нет настроек. Любой ввод форматируется одинаково, поэтому результат предсказуем при отправке другим пользователям.
Что произойдет, если в моем коде есть ошибка синтаксиса?
Инструмент остановится и покажет сообщение парсера, например Unexpected: с указанием проблемного токена. Исправьте указанную проблему и запустите форматер снова.
Комментарии сохраняются?
Да, однострочные и блочные комментарии сохраняются и располагаются рядом с операторами, к которым относятся. Комментарий внутри оператора может переместиться в начало следующего оператора.
Поддерживает ли он современный JavaScript?
Да, парсер распознает современный синтаксис, например import и export, стрелочные функции, классы, async и await, деструктуризацию, spread, optional chaining, nullish coalescing и шаблонные строки. Длинные литералы объектов, которые не помещаются в одну строку, разбиваются так, чтобы каждое свойство занимало отдельную строку.
Можно ли форматировать минифицированный код?
Да, минифицированные файлы разбираются и форматируются в удобочитаемые строки с отступами. Короткие имена переменных, выбранные минификатором, сохраняются, поскольку форматирование ничего не переименовывает.
Изменится ли поведение моего кода после форматирования?
Нет, форматирование меняет только пробелы, разрывы строк и завершители инструкций. Добавляются только точки с запятой — именно так JavaScript и без того разбирает код.
Почему результат заключен в блок кода с ограждением javascript?
Результат возвращается в виде блока кода Markdown, который начинается с ограждения javascript, поэтому при вставке в Markdown он отображается с подсветкой. Чтобы получить исходный код без оформления, скопируйте строки между ограждениями.
А как насчет JSX, TypeScript или Flow?
Эта страница предназначена для обычного JavaScript. Для компонентов React используйте форматтер JSX, а для типизированного кода — форматтер TypeScript или Flow, поскольку аннотации типов не входят в стандартный JavaScript.