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

在 React 开发中,选用 ES6 与 ES5 语法进行编码,两者之间存在哪些实质性的差异?

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

考察说明

考查候选人对 React 中 ES6/ES5 语法差异及现代实践的理解。

回答思路

  1. 【回答框架 1】ES6 引入类、箭头函数、模板字符串、解构赋值、let/const 等语法糖,使代码更简洁。在 React 中,组件定义常用 class 继承 React.Component,而 ES5 使用 React.createClass。
  2. 【回答框架 2】ES6 类组件通过 constructor 初始化 state,方法需手动绑定 this 或使用箭头函数属性;ES5 的 createClass 自动绑定方法,但已废弃。
  3. 【回答框架 3】ES6 支持模块导入导出,利用 import/export 管理组件依赖;ES5 使用 CommonJS 的 require/module.exports,在构建工具中均可工作。
  4. 【回答框架 4】函数组件与 Hooks 在现代 React 中更受推荐,它们本身更契合 ES6+ 语法,但核心差异在于组件定义和历史演变。
  5. 【关键点 1】ES6 类组件需手动绑定方法,ES5 createClass 自动绑定。
  6. 【关键点 2】ES6 使用 class 继承 React.Component,ES5 用 React.createClass(已废弃)。
  7. 【关键点 3】ES6 支持 import/export 模块语法,ES5 用 require/module.exports。
  8. 【关键点 4】现代 React 推荐函数组件和 Hooks,语法上更简洁。
  9. 【易错点 1】误以为 ES6 与 React 有直接依赖,其实 React 支持多种语法,差异主要在语法层面。
  10. 【易错点 2】忽略 createClass 的废弃,在新代码中继续使用。
  11. 【易错点 3】对 this 绑定理解不足,导致事件处理中丢失上下文。