ESLint 是一个可插拔、高度可配置的 JavaScript 静态代码检查工具,通过规则统一代码风格、预防潜在错误、提升协作与可维护性;它基于 AST 进行语法层面分析,支持编辑器实时提示、Git 钩子和 CI 集成,并依靠配置文件灵活适配项目需求。

ESLint 是一个可插拔、高度可配置的 JavaScript 代码检查工具,它的核心目标不是“找 bug”,而是帮你统一代码风格、预防潜在错误、提升团队协作效率和长期可维护性。
它靠规则(rules)来定义“好代码”标准
ESLint 本身不内置强制逻辑,而是通过成百上千条可开启/关闭/配置的规则来工作。比如:
- no-unused-vars:标记声明了但没用过的变量
- semi:强制或禁止分号(可设为 "error" 或 "warn")
-
eqeqeq:要求用
===替代== - react-hooks/rules-of-hooks(配合插件):检查 React Hook 的调用是否符合规则
每条规则都有明确文档,说明它检测什么、为什么重要、怎么修复,甚至提供自动修复(eslint --fix)。
它在语法层面分析,不是运行时检查
ESLint 不执行你的代码,而是把源码解析成抽象语法树(AST),然后遍历节点,对照规则做静态分析。这意味着:
立即学习“Java免费学习笔记(深入)”;
- 能发现
if (x = 1)这类容易误写的赋值问题(应为===) - 能识别未声明就使用的变量(
no-undef) - 但无法判断
array[100]是否越界——那是运行时行为,ESLint 看不到实际数据
它深度集成进开发流程
你不需要手动运行它才能受益:
- 编辑器(VS Code、WebStorm)装 ESLint 插件后,实时标红问题
- Git 提交前用 husky + lint-staged 自动检查暂存文件
- CI 流水线(如 GitHub Actions)中跑 ESLint,失败则阻断发布
这种“早发现、早反馈、早修复”的机制,让质量问题不出开发环境。
它靠配置文件灵活适配项目需求
项目根目录的 .eslintrc.js(或 .json/.yml)决定哪些规则启用、级别如何、环境怎么设:
-
"env": { "browser": true, "es2021": true }告诉 ESLint 允许使用浏览器全局变量和 ES2021 语法 -
"extends": ["eslint:recommended", "plugin:react/recommended"]复用成熟规则集 -
"rules": { "no-console": "warn", "quotes": ["error", "single"] }覆盖具体规则
没有“最佳配置”,只有“最适合你团队当前阶段”的配置。
基本上就这些——ESLint 不是代码警察,而是你写 JS 时坐在旁边的资深同事,安静、耐心、记得所有细节,随时提醒你:“这里可以更稳一点”。









