es6的class 的出现 基本上可以替代了es5的构造函数和原型,使之代码结构上更加简洁。
关键字
-
class -
属性 -
方法 -
继承 extends -
构造函数 constructor -
方法重写 override:子类方法覆盖父类,super.父类方法() -
父类的构造函数 super :子类有构造方法且使用this前,必须使用super()
代码展示?
class Person {
// 构造方法
constructor(name) {
// 属性
this.name = name;
}
// 方法
say() {
console.log(this.name);
}
}
// 继承
class Student extends Person{
constructor(name,height){
// console.log(this); // 语法错误:必须先调用super()才能使用this
super(name);
this.height=height;
}
}
const s1=new Student("海海",18);
s1.say(); // 海海
class Saler extends Person{
constructor(name,age){
super(name);
this.age = age;
}
// 覆盖(重写)
say(){
// 访问父类方法
super.say(); // 小陈
console.log(this.age);
}
}
const s2 = new Saler('小陈',19);
s2.say(); // 19
下一章:JavaScript 进阶第八章(闭包)
|