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