Classes là một dạng function đặc biệt, thay vì sử dụng từ function thì chúng ta sử dụng class và thuộc tính được gán bên trong phương thức constructor().
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:
JavaScript:
class Member {
constructor() {
this.name = "Lê Đăng Dũng";
}
}
var x = new Member();
console.log(x.name); /* ouput: "Lê Đăng Dũng" */
Trong đó:
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()
khai báo Classes trước khi dùng.
Classes - sử dụng với method
JavaScript:
class Member {
constructor() {
this.name = "Lê Đăng Dũng";
}
memberName() {
return this.name;
}
}
var x = new Member();
console.log(x.memberName()); /* ouput: "Lê Đăng Dũng" */
Classes - tính kế thừa (inheritance)
Classes sử dụng từ khóa extends để kế thừa các Classes đã có. Từ khóa này chắc mọi người cũngđã dùng nhiều trong các ngôn ngữ lập trình khác.
JavaScript:
class Member {
constructor() {
this.name = "Lê Đăng Dũng";
}
memberName() {
return this.name;
}
}
class User extends Member {
constructor(name, age) {
super(name);
this.age = 5;
}
memberInfo() {
return this.memberName() + 'Tuổi: ' + this.age;
}
}
var x = new User();
console.log(x.memberInfo()); /* ouput: "Lê Đăng Dũng" Tuổi: 5 */
Trong đó:
User extends Member
Classes User kế thừa phương thức của Member.name
đây là tham số được sử dụng trong Member.super(name);
khai báo này cần thiết để gọi các tham số đã có trong Member.this.memberName()
sử dụng lại phương thức của Member.var x = new User()
khai báo Classes User trước khi dùng.