JavaScript 类扩展
示例
创建一个名为 "Model" 的类,它将继承 "Car" 类的方法
class Car {
constructor(brand) {
this.carname = brand;
}
present() {
return '我有一辆 ' + this.carname;
}
}
class Model extends Car {
constructor(brand, mod) {
super(brand);
this.model = mod;
}
show() {
return this.present() + ', 它是一辆 ' + this.model;
}
}
mycar = new Model("Ford", "Mustang");
document.getElementById("demo").innerHTML = mycar.show();
描述
extends
关键字用于创建另一个类(父类)的子类。
子类继承另一个类的所有方法。
继承对于代码重用非常有用:在创建新类时重用现有类的属性和方法。
注意:从上面的例子可以看出;super()
方法指代父类。通过在构造方法中调用 super()
方法,我们调用了父类的构造方法并获得了访问父类属性和方法的权限。
浏览器支持
extends
是 ECMAScript6 (ES6) 的一个特性。
自 2017 年 6 月起,所有现代浏览器都支持 ES6 (JavaScript 2015)
Chrome 51 | Edge 15 | Firefox 54 | Safari 10 | Opera 38 |
2016 年 5 月 | 2017 年 4 月 | 2017 年 6 月 | 2016 年 9 月 | 2016 年 6 月 |
Internet Explorer 不支持 extends
。
语法
class childClass extends parentClass
技术详情
JavaScript 版本 | ECMAScript 2015 (ES6) |
---|
相关页面
JavaScript 教程:JavaScript 类
JavaScript 教程:JavaScript ES6 (EcmaScript 2015)
JavaScript 参考手册:super 关键字
JavaScript 参考手册:constructor() 方法