ES6 Classes
- Classes là một dạng function đặc biệt, thay vì sử dụng từ
functionthì chúng ta sử dụngclassvà 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í" */
MemberTê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.namevớinamelà 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 MemberClassesUserkế 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 ClassesUsertrước khi dùng.

