Class类

定义类的方法的时候,前面不需要加上function关键字,直接把函数定义放进去就可以了,另外方法之间不需要逗号分隔,不然会报错。

类的数据类型是函数,类本身就指向构造函数。

类的所有方法都定义在类的prototype属性上面。

类内部多有定义的方法都是不可枚举的。

 

Constructor方法

Constructor方法是类的默认方法,通过new命令产生实例时,自动调用该方法。

一个类必须有constructor方法,如果没有显式定义,这个方法会默认添加。

关于ES6中class类的介绍_父类

Constructor方法默认返回实例对象(this),也可以指定返回另外一个对象

关于ES6中class类的介绍_子类_02

类的实例

通过使用new命令,生成实例。

实例的属性除非显式定义其本身(定义this对象上),否则定义在原型上(定义class上)

关于ES6中class类的介绍_父类_03

Class的继承

Class可以通过extends关键字实现继承

 

关于ES6中class类的介绍_父类_04

 

关于ES6中class类的介绍_子类_05

                           

 

子类必须在constructor方法中调用super方法。

子类自己的this对象,必须通过父类的构造函数完成塑造,得到父类同样的实例属性和方法,然后再对其加工,加上子类自己的实例属性和方法,生成子类自己的this对象。

注意:在子类的构造函数中,只有调用super之后,才可以使用this关键字,这是因为子类实例的构建基于父类的实例,只有super方法才能调用父类实例

箭头函数

在普通函数中this不是函数声明的时候定义的,而是函数调用的时候定义的。

箭头函数没有自己的this,导致内部的this就是外层代码块的this。

箭头函数不能用call,apply,bind方法更改this的指向。