JavaScript代码格式化器
指导
JavaScript代码格式化器
粘贴经过压缩、混乱或压缩的 JavaScript 代码,获取一个干净且格式一致的版本,可以实际阅读。该格式化器是基于标记的——它理解字符串字面量、模板字面量、正则表达式和注释,因此它不会意外地重新格式化正则表达式内部或重新排列你的 ${...} 插值。所有操作都在你的浏览器中运行,因此你粘贴的代码永远不会离开你的机器。
如何使用
- 将你的 JavaScript 代码粘贴到输入框中。
- 选择你的缩进、引号样式和分号策略。
- 选择大括号样式(1TBS 或 Allman)和尾随逗号策略。
- 设置目标打印宽度——长的对象字面量和数组将被拆分为适合的行。
- 复制格式化后的输出或将其下载为一个
.js文件。
特征
- 确定性输出 ——相同的输入总是产生相同的输出。
- 可配置的缩进 ——使用 2 个空格、4 个空格或制表符。
- 引号转换 ——在单引号、双引号之间切换,或保留原始样式并安全处理转义。
- 分号策略 ——始终插入,移除所有,或保留现有内容。
- 大括号样式 ——1TBS(同行)或 Allman(下一行)。
- 尾随逗号 ——无,ES5(仅对象和数组),或全部(包括函数参数)。
- 打印宽度换行 ——长字面量被拆分到多行并缩进。
- 现代语法 ——箭头函数、async/await、扩展运算符/剩余参数、解构、类、模板字面量、BigInt 和 正则表达式字面量均被识别。
- 注释保留 ——内联和块注释在格式化过程中得以保留。
- 本地运行 ——你的代码永远不会离开浏览器。
何时使用此工具
当你在阅读野路子的压缩包、检查第三方代码片段、将聊天或邮件中的代码复制到实际项目中,或在审查拉取请求前标准化团队成员的代码风格时,使用这个格式化器。与完整的代码检查器不同,它仅专注于空格和标点——你的逻辑保持不变。
常问问题
-
JavaScript 压缩器和美化器之间的区别是什么?
压缩器移除不必要的空格、缩短标识符并删除注释,以生成最小化的代码供浏览器使用。美化器或格式化器则相反:它通过一致的缩进、换行和空格扩展代码,以便人类可以阅读。这两种工具通常在工作流程的两端使用——开发阶段美化,部署前压缩。
-
为什么确定性格式化比让 AI 重写代码更好?
确定性格式化器对相同的输入应用相同的规则,因此函数在今天和下个月重新格式化后会产生完全相同的差异。相比之下,AI 模型在不同运行之间可能会引入细微的风格漂移,偶尔会重写逻辑,或发明不存在的选项。对于进入版本控制的代码,可预测的输出保持差异可审查,并避免意外行为变化。
-
1TBS 大括号样式与 Allman 有何不同?
1TBS——真正的唯一大括号样式——将打开大括号放在引入它的语句同一条线上,例如
function foo() {。Allman 风格将打开大括号放在单独一行,直接位于其下方。两者都是有效的;1TBS 是现代 JavaScript 中占主导地位的风格,也是 Prettier 和大多数 ESLint 配置所强制执行的风格。 -
在 JavaScript 中何时应使用尾随逗号?
在多行数组和对象字面量中,尾随逗号在所有现代 JavaScript 运行时中都是有效的,并且在添加项目时会产生更小、更干净的差异——之前需要逗号和新项目的行现在只改变一次。在函数参数和参数列表中的尾随逗号在 ES2017 之后也是合法的,但有时为了兼容旧工具链而被禁用。如果你希望在对象和数组中使用逗号但不在函数调用中使用,可以选择 ES5 模式。
