Lớp JavaScript mở rộng
Ví dụ
Tạo một lớp có tên "Model" sẽ kế thừa các phương thức từ lớp "Ô tô":
class Car {
constructor(brand) {
this.carname =
brand;
}
present() {
return 'I have a ' + this.carname;
}
}
class Model extends Car {
constructor(brand, mod) {
super(brand);
this.model = mod;
}
show() {
return this.present() + ', it is a ' + this.model;
}
}
mycar = new Model("Ford", "Mustang");
document.getElementById("demo").innerHTML
= mycar.show();
Sự miêu tả
Từ khóa extends
được sử dụng để tạo lớp con của lớp khác (lớp cha).
Lớp con kế thừa tất cả các phương thức từ lớp khác.
Tính kế thừa rất hữu ích cho khả năng sử dụng lại mã: sử dụng lại các thuộc tính và phương thức của một lớp hiện có khi bạn tạo một lớp mới.
Lưu ý: Từ ví dụ trên; Phương thức super()
đề cập đến lớp cha. Bằng cách gọi phương thức super()
trong phương thức khởi tạo, chúng ta gọi phương thức khởi tạo của cha và có quyền truy cập vào các thuộc tính và phương thức của cha.
Hỗ trợ trình duyệt
extends
là một tính năng ECMAScript6 (ES6).
ES6 (JavaScript 2015) được hỗ trợ trong tất cả các trình duyệt hiện đại kể từ tháng 6 năm 2017:
Chrome 51 | Edge 15 | Firefox 54 | Safari 10 | Opera 38 |
May 2016 | Apr 2017 | Jun 2017 | Sep 2016 | Jun 2016 |
extends
không được hỗ trợ trong Internet Explorer.
Cú pháp
class childClass extends parentClass
Chi tiết kỹ thuật
Phiên bản JavaScript: | ECMAScript 2015 (ES6) |
---|
Trang liên quan
Hướng dẫn JavaScript: Các lớp JavaScript
Hướng dẫn JavaScript: JavaScript ES6 (EcmaScript 2015)
Tham khảo JavaScript: Siêu từ khóa
Tham khảo JavaScript: Phương thức constructor()