Skip to content

Tự học JavaScript - Module 8: Classes - Khuôn mẫu cho Đối tượng

TuanNDA
Published date:
Edit this post

Table of contents

Open Table of contents

1. Cú pháp Class cơ bản

Để tạo một class, bạn dùng từ khóa class và luôn phải có một phương thức đặc biệt tên là constructor().

class Car {
  constructor(name, year) {
    this.name = name;
    this.year = year;
  }
}

Phương thức constructor():


2. Tạo đối tượng từ Class

Để tạo một đối tượng thực tế (an instance), bạn dùng từ khóa new.

const myCar1 = new Car("Ford", 2014);
const myCar2 = new Car("Audi", 2019);

3. Thêm phương thức vào Class (Class Methods)

Bạn có thể thêm bao nhiêu phương thức tùy thích vào class để định nghĩa hành động cho đối tượng.

class Car {
  constructor(name, year) {
    this.name = name;
    this.year = year;
  }
  
  // Phương thức tính tuổi xe
  age() {
    let date = new Date();
    return date.getFullYear() - this.year;
  }
}

const myCar = new Car("Ford", 2014);
console.log("Xe của tôi đã " + myCar.age() + " tuổi.");

4. Chế độ nghiêm ngặt (Strict Mode)

Cú pháp Class luôn luôn chạy trong chế độ "use strict". Điều này có nghĩa là nếu bạn sử dụng một biến mà chưa khai báo (ví dụ quên let hay const) bên trong class, nó sẽ báo lỗi ngay lập tức thay vì âm thầm bỏ qua như JS cũ.


5. Tại sao nên dùng Class?

  1. Dễ hiểu: Cú pháp Class nhìn giống với các ngôn ngữ khác như Java, C#, giúp code dễ đọc hơn.
  2. Kế thừa (Inheritance): Giúp bạn tạo ra các class con từ class cha (chúng ta sẽ học ở các phần nâng cao).
  3. Quản lý tốt: Gom nhóm dữ liệu và hành động vào một nơi duy nhất.

Lời kết Module 8

Class là “bản thiết kế” giúp bạn tạo ra hàng ngàn đối tượng có cấu trúc giống nhau một cách nhanh chóng. Đây là kiến thức nền tảng để bạn học lên các Framework như React (Class Components) hoặc làm việc với Backend Node.js.

Trong Module 9, chúng ta sẽ đối mặt với một trong những thử thách lớn nhất: Lập trình bất đồng bộ (Asynchronous JS). Đây là chìa khóa để web của bạn có thể tải dữ liệu mà không bị “đơ” trình duyệt.

Hẹn gặp lại các bạn!

Previous
Tự học JavaScript - Module 9: Lập trình bất đồng bộ (Async/Await) chuyên sâu
Next
Tự học JavaScript - Module 7: Hàm (Functions) và Arrow Functions (ES6)