跳转到正文

JavaScript 格式化工具

使用此 JavaScript 格式化工具整理杂乱或压缩过的 JavaScript。粘贴代码后,工具会将其解析为 ES 模块,再以每级两个空格缩进、每行一条语句、运算符周围空格一致且语句末尾带分号的格式重新输出,并保留注释。遇到语法错误时会报告错误,而不会猜测,从而让开发者获得可读且有效的代码,便于审查、调试和编写文档。

重置

常见问题

JavaScript 格式化工具如何工作?

它会将代码作为 ES 模块解析为语法树,再以统一的风格重新输出语法树。由于代码是经过解析而非通过文本规则修补的,因此输出结构始终与输入一致。

输出使用什么风格?

代码块使用两个空格缩进,每条语句单独占一行,运算符两侧加空格,语句末尾加分号。较短的对象和数组字面量保持在同一行,字符串引号和模板字面量则保持原样。

可以更改缩进或其他设置吗?

不可以,格式化工具没有可选设置。所有输入都会以相同风格输出,这样分享结果时更易于预期。

代码存在语法错误时会怎样?

工具会停止处理并显示解析器消息,例如 Unexpected: 后面跟着出错的标记。修复报告的问题后,再次运行格式化工具。

注释会保留吗?

可以。行注释和块注释都会保留,并与其所属语句放在一起。语句内部的注释可能会移到下一条语句的开头。

它支持现代 JavaScript 吗?

支持。解析器可以识别现代语法,例如 import 和 export、箭头函数、类、async 和 await、解构、展开运算符、可选链、空值合并和模板字面量。无法放在一行的较长对象字面量会拆分为每行一个属性。

能否格式化已精简的代码?

可以,压缩过的文件会被解析,并以易读的行和缩进展开。压缩工具选用的较短变量名会保留,因为格式化过程不会重命名任何内容。

格式化会改变代码的行为吗?

不会,它只会更改空白字符、换行和语句终止符。唯一添加的内容是分号,它们与 JavaScript 读取代码的方式一致。

为什么结果会放在 javascript 代码围栏中?

结果会作为以 javascript 围栏开头的 Markdown 代码块返回,因此粘贴到 Markdown 时会显示语法高亮。需要纯源代码时,请复制围栏之间的内容。

那么 JSX、TypeScript 或 Flow 呢?

此页面用于处理纯 JavaScript。处理 React 组件请使用 JSX 格式化工具;处理带类型的代码请使用 TypeScript 或 Flow 格式化工具,因为类型注解不属于标准 JavaScript 的一部分。

关于 OneClick Pro

OneClick Pro 是一个免费的工具集合,包含超过 150 种网络工具,助你处理日常工作:转换图像和单位、格式化和验证代码、检查域名和 SEO,以及处理文本、日期和数字。所有工具均可免注册、免订阅使用;你输入的内容仅用于计算结果,绝不会被存储。你可以将它用作处理临时任务的快捷工具箱,也可以收藏每天都会用到的工具。