- vừa được xem lúc

Lớp trong JavaScript: Đơn giản nhưng mạnh mẽ

0 0 2

Người đăng: Trâm Hoàng

Theo Viblo Asia

Class là gì?

Ta có thể hiểu Class là một khuôn mẫu

Sử dụng để tạo đối tượng có thuộc tính (attribute) và phương thức (method). Từ phiên bản ECMAScript 6 thì JavaSript hỗ trợ tạo ra class giống các ngôn ngữ lập trình hướng đối tượng khác (Java, C++...).


Ví dụ:

class Person {
constructor(name, birthYear) {
this.name = name;
this.birthYear = birthYear;
}
getAge() {
return 2023 - this.birthYear;
}
}
const person1 = new Person('Tran Van A', 1990);
person1.getAge();

Cú pháp:


class TenClass {
// Hàm khởi tạo
constructor() { ... }
// Các phương thức
phuongThuc1() { ... }
phuongThuc2() { ... }
phuongThuc3() { ... }
}
}

Constructor là gì?

Constructor hay còn gọi là phương thức khởi tạo là hàm dùng để khởi tạo một đối tượng của một lớp. Constructor sẽ tự động được tạo khi ta tạo một đối tượng của lớp. Chú ý là trong một lớp chỉ có một phương thức constructor, Nếu ta cố ý viết nhiều hơn 1 constructor thì sẽ xuất hiện lỗi. Như vậy trong Javascript chỉ có 1 hàm constructor, không giống như nhiều ngôn ngữ khác như Java, C++...

Static Methods

Phương thức tĩnh (static method) trong JavaScript là một phương thức được đính kèm vào lớp và có thể được gọi trực tiếp từ lớp mà không cần tạo một đối tượng từ lớp đó. Điều này khác với các phương thức thông thường trong lớp, mà thường phải được gọi bằng cách tạo một đối tượng từ lớp đó.

Để định nghĩa một phương thức tĩnh trong JavaScript, chúng ta sử dụng từ khóa static trước tên phương thức. Dưới đây là cú pháp của một phương thức tĩnh:

class TenLop { static tenPhuongThuc() { // Mã thực thi của phương thức tĩnh }
}

Khi một phương thức được đánh dấu là tĩnh, nó không thể truy cập các thuộc tính hoặc phương thức không tĩnh của lớp thông qua từ khóa this. Thay vào đó, phương thức tĩnh được sử dụng để thực hiện một tác vụ độc lập với các đối tượng của lớp.

Static method rất hữu ích khi chúng ta muốn thực hiện một tác vụ chung không phụ thuộc vào các thuộc tính hoặc phương thức của đối tượng cụ thể, mà chỉ phụ thuộc vào các tham số truyền vào.

Kế Thừa

• Sử dụng extends để kế thừa

• Sử dụng super để tham chiếu về parent class.

class Animal { constructor(name) { this.name = name; } eat() { console.log(`${this.name} is eating.`); }
} class Dog extends Animal { bark() { console.log(`${this.name} is barking.`); }
} // Tạo một đối tượng từ lớp con Dog
const dog = new Dog('Buddy');
dog.eat(); // Output: Buddy is eating.
dog.bark(); // Output: Buddy is barking.

Bình luận

Bài viết tương tự

- vừa được xem lúc

Create Certificates, Identifiers & Profiles App IOS

Mở đầu. Xin chào các bạn hôm này mình sẽ giới thiệu cho các bạn một cách tạo certificates, identifiers & profiles với tài khoản Apple Developer. Có tài khoản Apple Developer. Ai chưa có thì không cần đọc tiếp nha :.

0 0 36

- vừa được xem lúc

Chương 5 Object oriented programming

Chương 5 Object oriented programming. Tôi lần đầu tiên được giới thiệu về lập trình hướng đối tượng ở trường cao đẳng nơi tôi đã có một giới thiệu tóm tắc về c++.

0 0 25

- vừa được xem lúc

Hướng dẫn tạo link tracking nguồn cài đặt cho mobile app (xác định nguồn cài đặt cho mobile app)

Giới thiệu. Bạn đang chạy quá nhiều campaign cho ứng dụng mobile từ các mạng xã hội: facebook, twitter, ... các chiến dịch offline cũng như các chiến dịch online của bên thứ 3. Bạn không thể xác định được nguồn nào mang cho mình lượng install cao nhất. Vì nếu dùng shortlink thì chỉ đo được lượt clic

0 0 29

- vừa được xem lúc

SwiftUi: Bắt đầu từ những điều căn bản nhất. Phần 1

Trong bài này, bạn sẽ được tìm hiểu về việc tạo ra giao diện bằng việc khai báo và tuỳ chỉnh views, cách sử dụng các biến trạng thái để cập nhật giao diện thay vì dùng code. Tập sử dụng tính năng new preview và live preview, những trải nghiệm thú vị khi làm việc cùng với code và WYSIWYG layout.

0 0 58

- vừa được xem lúc

Những điều khác nhau cần biết giữa thiết kế ứng dụng Android và ứng dung iOS

Để tạo ra ứng dụng có trải nghiệm tốt nhất, tương thích với dòng thiết bị, bạn nên ghi nhớ sự khác biệt giữa 2 nền tảng iOS và Android. Các ứng dụng này không chỉ khác nhau ở phần trông như thế nào, chúng cũng khác nhau về cấu trúc và luồng ứng dụng.

0 0 26

- vừa được xem lúc

Những khó khăn khi làm dự án maintain ( dưới góc nhìn của một React Native Developer)

Đi làm một vài năm ở công ty outsource, minh thấy hầu như các anh em đều khá e ngại với các dự án maintain, nhất là thuộc hàng code "siêu thối", spec thuộc loại "siêu to khổng lồ ",... Và mình cũng thế, mình cũng đang "theo đuổi" một chú em với "chức năng siêu to kh

0 0 309