Để tạo một class trong JavaScript, bạn có thể sử dụng từ khóa class. Một class là một mẫu cho các đối tượng (objects) và cho phép bạn tạo ra nhiều đối tượng có cùng cấu trúc và hành vi.
Mã Nguồn:
class Person {
// Hàm khởi tạo (constructor)
constructor(name, age) {
this.name = name;
this.age = age;
}
// Phương thức (method)
greet() {
console.log(`Hello, my name is ${this.name} and I am ${this.age} years old.`);
}
// Phương thức tĩnh (static method)
static species() {
return 'Homo Sapiens';
}
}
// Tạo đối tượng từ class
const person1 = new Person('Alice', 30);
const person2 = new Person('Bob', 25);
// Gọi phương thức của đối tượng
person1.greet(); // Hello, my name is Alice and I am 30 years old.
person2.greet(); // Hello, my name is Bob and I am 25 years old.
// Gọi phương thức tĩnh
console.log(Person.species()); // Homo Sapiens
Giải Thích:
-
Khai Báo Class:
- Sử dụng từ khóa
classđể định nghĩa một class. - Tên class (
Person) nên được viết hoa chữ cái đầu tiên theo thông lệ.
- Sử dụng từ khóa
-
Hàm Khởi Tạo (Constructor):
- Hàm
constructorđược gọi khi tạo một đối tượng mới từ class. - Các tham số truyền vào constructor được gán cho các thuộc tính của đối tượng bằng từ khóa
this.
- Hàm
-
Phương Thức (Method):
- Bạn có thể định nghĩa các phương thức cho class bằng cách thêm chúng vào bên trong định nghĩa class.
- Ví dụ, phương thức
greetin ra một câu chào chứa thông tin của đối tượng.
-
Phương Thức Tĩnh (Static Method):
- Phương thức tĩnh được định nghĩa bằng từ khóa
staticvà có thể được gọi trực tiếp từ class mà không cần tạo đối tượng. - Ví dụ, phương thức tĩnh
speciestrả về một chuỗi xác định loài của đối tượng.
- Phương thức tĩnh được định nghĩa bằng từ khóa
-
Tạo Đối Tượng Từ Class:
- Sử dụng từ khóa
newđể tạo một đối tượng mới từ class. - Ví dụ,
const person1 = new Person('Alice', 30);tạo một đối tượngperson1với tên là 'Alice' và tuổi là 30.
- Sử dụng từ khóa
Tổng Quan:
- Class trong JavaScript: Là một mẫu để tạo các đối tượng có cùng cấu trúc và hành vi.
- Constructor: Được sử dụng để khởi tạo các thuộc tính của đối tượng.
- Method và Static Method: Cho phép định nghĩa hành vi của đối tượng và hành vi tĩnh liên quan đến class.
Ví Dụ Thực Tế:
class Car {
constructor(make, model, year) {
this.make = make;
this.model = model;
this.year = year;
}
displayInfo() {
console.log(`This car is a ${this.year} ${this.make} ${this.model}.`);
}
static generalInfo() {
return 'Cars are a common means of transportation.';
}
}
const car1 = new Car('Toyota', 'Corolla', 2020);
const car2 = new Car('Honda', 'Civic', 2019);
car1.displayInfo(); // This car is a 2020 Toyota Corolla.
car2.displayInfo(); // This car is a 2019 Honda Civic.
console.log(Car.generalInfo()); // Cars are a common means of transportation.
Trong ví dụ trên, class Car có thuộc tính make, model, và year, cùng với phương thức displayInfo để hiển thị thông tin về xe và phương thức tĩnh generalInfo cung cấp thông tin chung về xe.
Comments