ES6中的关键字super该如何理解?

2023-08-19 11:30:57 0 0 编辑:亿网科技有限公司 来源:本站原创

super关键字是ES6新增的关键字,用于在子类中调用父类的构造函数和成员方法。在ES6之前,JavaScript中的继承通常是通过原型链实现的,这种继承方式的缺点是在子类中无法直接访问父类的构造函数和成员方法。

ES6中的关键字super该如何理解?

使用super关键字可以轻松实现在子类中调用父类的构造函数和成员方法。super关键字用于指代当前对象所继承的父对象,通过super关键字可以访问父类的成员。

ES6中的关键字super该如何理解?

具体来说,super可以做两件事情:

1. 调用父类构造函数:使用super()可以在子类中调用父类的构造函数,并传递参数。例如:

class Person {
constructor(name, age) {
this.name = name;
this.age = age;
}
}
class Student extends Person {
constructor(name, age, grade) {
super(name, age); // 调用父类构造函数
this.grade = grade;
}
}
let student = new Student("Tom", 18, "A");

在上面的代码中,子类Student通过调用super(name, age)方法来调用父类Person的构造函数,以实现继承父类的成员变量name和age。

2. 调用父类成员方法:使用super.methodName()可以在子类中调用父类的成员方法。例如:

class Person {
hello() {
console.log(`Hello, ${this.name}`);
}
}
class Student extends Person {
hello() {
super.hello(); // 调用父类方法
console.log(`I am a student of grade ${this.grade}`);
}
}
let student = new Student("Tom", 18, "A");
student.hello();

在上面的代码中,子类Student通过调用super.hello()方法来调用父类Person的成员方法hello(),以实现继承父类的行为。在子类中可以重写父类的成员方法,并通过使用super关键字来调用父类的成员方法,从而实现扩展或重用父类的代码。

关键词: 排灌 尿素 肩线 锡纸 木耳 迈进 石头 台风 核桃 怎么 冬笋 怎么
本站文章均为<亿网科技有限公司>网站建设摘自权威资料,书籍,或网络原创文章,如有版权纠纷或者违规问题,请即刻联系我们删除,我们欢迎您分享,引用和转载,我们谢绝直接复制和抄袭!
我们猜你喜欢