Phản ứng các lớp ES6
Các lớp học
ES6 giới thiệu các lớp học.
Lớp là một loại hàm, nhưng thay vì sử dụng function
khóa hàm để khởi tạo nó, chúng ta sử dụng từ khóa class
và các thuộc tính được gán bên trong phương thức constructor()
.
Ví dụ
Một hàm tạo lớp đơn giản:
class Car { constructor(name) { this.brand = name; } }
Lưu ý trường hợp của tên lớp. Chúng tôi đã bắt đầu tên "Ô tô" bằng chữ in hoa. Đây là quy ước đặt tên tiêu chuẩn cho các lớp.
Bây giờ bạn có thể tạo các đối tượng bằng lớp Car:
Ví dụ
Tạo một đối tượng có tên là "mycar" dựa trên lớp Xe hơi:
class Car { constructor(name) { this.brand = name; } } const mycar = new Car("Ford");
Lưu ý: Hàm xây dựng được gọi tự động khi đối tượng được khởi tạo.
Được chứng nhận!
$95 ĐĂNG KÝ
Phương thức trong lớp
Bạn có thể thêm các phương thức của riêng mình vào một lớp:
Ví dụ
Tạo một phương thức có tên là "hiện tại":
class Car { constructor(name) { this.brand = name; } present() { return 'I have a ' + this.brand; } } const mycar = new Car("Ford"); mycar.present();
Như bạn có thể thấy trong ví dụ trên, bạn gọi phương thức bằng cách tham chiếu đến tên phương thức của đối tượng, theo sau là dấu ngoặc đơn (các tham số sẽ nằm trong dấu ngoặc đơn).
Kế thừa lớp
Để tạo sự kế thừa lớp, hãy sử dụng từ khóa extends
.
Một lớp được tạo bằng tính kế thừa của lớp sẽ kế thừa tất cả các phương thức từ một lớp khác:
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(name) { this.brand = name; } present() { return 'I have a ' + this.brand; } } class Model extends Car { constructor(name, mod) { super(name); this.model = mod; } show() { return this.present() + ', it is a ' + this.model } } const mycar = new Model("Ford", "Mustang"); mycar.show();
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.
Để tìm hiểu thêm về các lớp, hãy xem phần Lớp JavaScript của chúng tôi.