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