1、类
- 定义类要使用class关键字,类名的首字母要大写
- 每个类中都有一个名为constructor的构造函数,在生成类的实例时此函数会自动执行,同时结果会返回给实例对象
- 类中创建的函数都不用加function
2、在类中添加方法
- 创建类的实例对象,使用new关键字
- 类的共有属性放到constructor构造函数里面
- 类中的多个方法之间不可以添加逗号
3、类的继承
- 使用extends关键字和super方法
- 可以使用super方法调用父类的构造函数(调用父类构造函数时,参数不用加this,且super要在子类this之前使用),也可以调用父类的普通函数
// 调用super继承父类的构造函数
class Son extends Father {
constructor(x, y) {
super(x, y)
this.x = x
this.y = y
}
}
// 调用super继承父类的普通函数
class Son extends Father {
say() {
console.log(super.say() + 'son');
}
}
-
子类继承父类的方法的同时,还可以继续扩展其他方法
- 比如:父类有一个加法函数,子类在继承加法函数之后,可以自己再扩展一个减法函数
class Son extends Father { constructor(x, y) { super(x, y); this.x = x; this.y = y; } subtract() { console.log(this.x - this.y); } }
4、使用类的注意事项
(1)this的指向
- 类中constructor函数的this指向的是 创建的实例对象
- 类中的普通函数一般是谁调用,其中this就指向谁
(2)注意事项
- 在ES6中类没有变量提升,所以必须先定义类,才能通过类实例化对象
- 类中的共有属性和方法一定要加this进行使用
网友评论