ES6 Classes
- Classes là một dạng function đặc biệt, thay vì sử dụng từ
function
thì chúng ta sử dụngclass
và thuộc tính được gán bên trong phương thứcconstructor()
. - Classes có tính kế thừa (inheritance), dễ dàng kế thừa tất cả phương thức từ Classes đã có trước đó.
- Cấu trúc cơ bản của một Classes như sau:
class Member { constructor() { this.name = "Dương Minh Trí"; } } var x = new Member(); console.log(x.name); /* ouput: "Dương Minh Trí" */
Member
Tên Classes.constructor()
hàm khởi tạo đối tượng cho một class, mỗi class chỉ chứa một hàm khởi tạo duy nhất.this.name
vớiname
là tham số đặt bất kỳ.var x = new Member()
cần khai báo Classes trước khi dùng.
Classes - sử dụng với method
class Member { constructor() { this.name = "Dương Minh Trí"; } memberName() { return this.name; } } var x = new Member(); console.log(x.memberName()); /* ouput: "Dương Minh Trí" */
Classes - tính kế thừa (inheritance)
Classes sử dụng từ khóa extends
để kế thừa các Classes đã có.
class Member { constructor() { this.name = "Dương Minh Trí"; } memberName() { return this.name; } } class User extends Member { constructor(name, age) { super(name); this.age = 4; } memberInfo() { return this.memberName() + 'Tuổi:' + this.age; } } var x = new User(); console.log(x.memberInfo()); /* ouput: "Dương Minh Trí" Tuổi:4 */
User extends Member
ClassesUser
kế thừa phương thức củaMember
.name
đây là tham số được sử dụng trongMember
.super(name);
khai báo này cần thiết để gọi các tham số đã có trongMember
.this.memberName()
sử dụng lại phương thức củaMember
.var x = new User()
cần khai báo ClassesUser
trước khi dùng.