Lớp JavaScript mở rộng
Thí dụ
Tạo một lớp có tên "Model" sẽ kế thừa các phương thức từ lớp "Car":
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();
Định nghĩa và Cách sử dụng
Từ extends
khóa được sử dụng để tạo một lớp con của một lớp khác (cha).
Lớp con kế thừa tất cả các phương thức từ lớp khác.
Kế thừa hữu ích cho khả năng tái sử dụng 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 super()
thức tham chiếu đến lớp cha. Bằng cách gọi super()
phương thức 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:
Chrome | Edge | Firefox | Safari | Opera |
Yes | Yes | Yes | Yes | Yes |
extends
không được hỗ trợ trong Internet Explorer 11 (hoặc phiên bản cũ hơn).
Cú pháp
class childClass extends parentClass
Chi tiết kỹ thuật
Phiên bản JavaScript: | ECMAScript 2015 (ES6) |
---|
Các 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: Từ khóa siêu cấp
Tham chiếu JavaScript: Phương thức constructor ()