• ECMAScript 5(ES5):ECMAScript的第5版,于2009年标准化。该标准已在所有现代浏览器中完全实现
  • ECMAScript 6(ES6)/ ECMAScript 2015(ES2015):第6版ECMAScript,于2015年标准化。该标准已在大多数现代浏览器中部分实施。

以下是ES5和ES6之间的一些主要区别:

1.系统库的引入

Es5:需要先使用require导入React包,成为对象,再去进行真正引用;
Es6:可以使用import方法来直接实现系统库引用,不需要额外制作一个类库对象
2.导出及引用单个类
Es5:要导出一个类给别的模块用,一般通过module.exports来实现。引用时,则依然通过 require方法来获取;
Es6:可以使用用export default来实现相同的功能,使用import方法来实现导入
3.定义组件
Es5:组件类的定义通过React.createClass实现;
Es6:让组件类去继承React.Component类就可以了。
4.组件内部定义方法
Es5:采用的是 ###:function()的形式,方法大括号末尾需要添加逗号;
Es6:省略了【: function】这一段,并且结尾不需要加逗号来实现分隔。
5.定义组件的属性类型和默认属性
Es5:属性类型和默认属性分别通过propTypes成员和getDefaultProps方法来实现;
Es6:统一使用static成员来实现。
6.初始化STATE
Es5:初始化state的方法是固定的getInitialState;
Es6:第一种,直接构造state函数;第二种,相当于OC中的方法重写,重写constructor方法