前端/移动开发面试题更新 2026-08-05

在云图库项目里,你提到用 TypeScript、ESLint 和 Prettier 来维护编码规范,请分别说明这三者各自承担的职责是什么?

前端/移动开发技术原理方案权衡ESLintTypeScript

考察说明

考查对工具链分工的理解,区分类型检查、代码质量检查与代码格式化。

回答思路

  1. 【回答框架 1】TypeScript 负责静态类型检查,在编译前发现类型错误,提升代码可维护性和可读性,提供类型即文档的能力。
  2. 【回答框架 2】ESLint 负责代码质量检查,通过规则集识别未定义变量、未使用变量、禁止写法等逻辑或风格问题,可配合插件和规则配置适应团队需求。
  3. 【回答框架 3】Prettier 负责代码格式化,统一缩进、引号、分号等风格,减少团队协作时的格式争议,可与 ESLint 配合,将格式规则交给 Prettier,ESLint 专注质量规则。
  4. 【回答框架 4】三者配合时,TypeScript 管类型,ESLint 管规范和潜在错误,Prettier 管格式,通常通过集成插件避免规则冲突,并在提交或 CI 阶段统一执行。
  5. 【回答框架 5】在实际项目中,还需要结合 husky、lint-staged 在提交前自动运行检查和格式化,保证改动符合规范。
  6. 【关键点 1】TypeScript 静态类型检查,编译期捕获类型错误。
  7. 【关键点 2】ESLint 检查代码质量和潜在逻辑问题,如未使用变量和禁用语法。
  8. 【关键点 3】Prettier 统一代码格式,不关注逻辑只关注风格。
  9. 【关键点 4】三者职责互补,通常同时使用并配置避免冲突。
  10. 【关键点 5】可集成到钩子或 CI 中自动化执行,保证持续合规。
  11. 【易错点 1】混淆 ESLint 与 Prettier 职责,可能在格式规则上产生冲突,导致检查与格式化互相覆盖。
  12. 【易错点 2】认为 TypeScript 能完全取代 ESLint,实际 TS 只查类型,不覆盖未使用变量等逻辑问题。
  13. 【易错点 3】忽略配置版本差异,不同项目配置可能不一致,导致规则行为不同。