Static Methods trong JavaScript
Javascript nâng cao | by
Trong JavaScript, phương thức tĩnh (static methods) là một loại phương thức đặc biệt trong class, được định nghĩa bằng từ khóa static
. Không giống như các phương thức thông thường, phương thức tĩnh không thể được gọi từ một instance của class mà chỉ có thể được truy cập trực tiếp thông qua class chứa nó.
Phương thức tĩnh đóng vai trò quan trọng trong lập trình hướng đối tượng, giúp tổ chức mã nguồn hiệu quả hơn, đặc biệt khi cần tạo ra các tiện ích dùng chung mà không cần khởi tạo đối tượng. Chúng thường được sử dụng để xây dựng các hàm tiện ích (utility functions), xử lý logic chung hoặc tạo ra factory methods giúp khởi tạo đối tượng theo cách linh hoạt.
Trong bài viết này, chúng ta sẽ tìm hiểu chi tiết về phương thức tĩnh, cách khai báo, sự khác biệt so với phương thức thông thường, cũng như các ứng dụng thực tế và cách kế thừa phương thức tĩnh trong JavaScript.
Static methods là gì?
Phương thức tĩnh (static method) trong JavaScript là phương thức được khai báo trong class với từ khóa static
. Không giống như các phương thức thông thường, phương thức tĩnh chỉ có thể được gọi trực tiếp từ class mà không thể được gọi từ một instance (đối tượng) của class.
Đặc điểm của phương thức tĩnh
-
Không thể gọi từ instance của class, chỉ có thể gọi từ chính class đó.
-
Không thể truy cập các thuộc tính hoặc phương thức không phải tĩnh của class, vì phương thức tĩnh không gắn liền với bất kỳ instance nào.
-
Thường được sử dụng để tạo các phương thức tiện ích hoặc xử lý logic chung mà không cần tạo một đối tượng cụ thể.
Ví dụ về phương thức tĩnh không thể gọi từ instance:
class Utility { static sayHello() { return "Xin chào từ phương thức tĩnh!"; } } const util = new Utility(); console.log(util.sayHello()); // Lỗi: util.sayHello is not a function console.log(Utility.sayHello()); // "Xin chào từ phương thức tĩnh!"
Cách khai báo phương thức tĩnh trong JavaScript
Trong JavaScript, để khai báo phương thức tĩnh, ta sử dụng từ khóa static
trước tên phương thức trong class.
Cú pháp
class ClassName { static methodName() { // Thân hàm } }
Ví dụ minh họa phương thức tĩnh
Ví dụ 1: Khai báo phương thức tĩnh và gọi nó từ class
class MathUtil { static add(a, b) { return a + b; } } console.log(MathUtil.add(5, 10)); // 15