【ES6】ES6的重要的13种新特性之类

一、类

ES2015之前没有原生类机制,但很多时候类是必须的,所以在ES2015之前是利用函数原型来实现类系统。

1

1.ES6类的基本语法

类中定义的方法都是带有作用域的普通函数,不是箭头函数。方法内第一层所引用的this都指向当前实例。

当实例方法内包含箭头函数,

2

2.类的继承

子类继承父类,那么子类的constructor构造函数中必须使用super函数调用父类的构造函数后才能在子类的构造函数中使用this。

而子类的其他方法不用super函数也可以用this来指当前实例。

ES2015同样可以将以前使用构建函数模拟的类作为父类来继承。

3

3.Getter/Setter

4

4.静态方法

静态方法适用于为类对象本身定义方法,而不只是类的实例方法。

比如定义子类实现参数固化。

静态方法extend先定义了一个继承于Animal的子类,并在该子类的构造函数中将extend方法的后续参数作为形参传入super中,以实现参数固化。

5

5.注意事项

类语法可以和以前的原型一起使用,但当函数为声明式的时候(另一种是定义式)存在函数提升问题,而类语法是不支持提升的。

类不支持私有属性。

类不支持多重继承。

暂时没有协议和接口概念。

附代码地址:https://github.com/JoseyDon/ES6-demo