Class类
定义类的方法的时候,前面不需要加上function关键字,直接把函数定义放进去就可以了,另外方法之间不需要逗号分隔,不然会报错。
类的数据类型是函数,类本身就指向构造函数。
类的所有方法都定义在类的prototype属性上面。
类内部多有定义的方法都是不可枚举的。
Constructor方法
Constructor方法是类的默认方法,通过new命令产生实例时,自动调用该方法。
一个类必须有constructor方法,如果没有显式定义,这个方法会默认添加。
Constructor方法默认返回实例对象(this),也可以指定返回另外一个对象
类的实例
通过使用new命令,生成实例。
实例的属性除非显式定义其本身(定义this对象上),否则定义在原型上(定义class上)
Class的继承
Class可以通过extends关键字实现继承
子类必须在constructor方法中调用super方法。
子类自己的this对象,必须通过父类的构造函数完成塑造,得到父类同样的实例属性和方法,然后再对其加工,加上子类自己的实例属性和方法,生成子类自己的this对象。
注意:在子类的构造函数中,只有调用super之后,才可以使用this关键字,这是因为子类实例的构建基于父类的实例,只有super方法才能调用父类实例
箭头函数
在普通函数中this不是函数声明的时候定义的,而是函数调用的时候定义的。
箭头函数没有自己的this,导致内部的this就是外层代码块的this。
箭头函数不能用call,apply,bind方法更改this的指向。