Phương thức tiện ích tĩnh
Thuộc phần Lập trình hướng đối tượng trong hành trình JavaScript của Coddy. Bài học 33 trên 56.
Phương thức tĩnh là các hàm tiện ích thuộc về chính lớp, thay vì thuộc về các đối tượng của lớp. Chúng hữu ích với những hàm không cần truy cập dữ liệu riêng của từng đối tượng.
Hãy tạo một lớp có phương thức tiện ích tĩnh:
class MathHelper {
// Định nghĩa một phương thức tĩnh (static method)
static square(number) {
return number * number;
}
}Để gọi một phương thức tĩnh, bạn dùng trực tiếp tên lớp:
// Gọi phương thức tĩnh mà không cần tạo instance
const result = MathHelper.square(5);
console.log(result); // 25Lưu ý rằng chúng ta không cần tạo một đối tượng mới bằng new MathHelper(). Các phương thức tĩnh rất phù hợp với những hàm tiện ích thực hiện các phép toán mà không cần dữ liệu của đối tượng.
Thử thách
Tạo một lớp có tên StringUtils với phương thức tĩnh tên là capitalize, nhận một chuỗi làm đối số và trả về chính chuỗi đó với chữ cái đầu tiên được viết hoa. Ví dụ: nếu đầu vào là "javascript", phương thức sẽ trả về "Javascript". Xuất lớp này.
- Kiểm tra xem chuỗi có rỗng không:
if (!str || str.length === 0)(Nếu không kiểm tra, chuỗi rỗng có thể gây ra sự cố).!strkiểm tranull/undefined(ngăn lỗi)str.length === 0kiểm tra chuỗi rỗng (trả về "" thay vì gặp lỗi)
- Lấy ký tự đầu tiên:
str.charAt(0) - Chuyển ký tự đó thành chữ hoa:
.toUpperCase() - Lấy phần còn lại của chuỗi:
str.slice(1)(từ vị trí 1 đến cuối) - Kết hợp: ký tự đầu tiên viết hoa + phần còn lại của chuỗi
Tự làm thử
import { StringUtils } from './stringUtils.js';
// Đừng sửa đoạn code bên dưới
console.log(StringUtils.capitalize("programming"));Bài học này có một bài trắc nghiệm ngắn. Bắt đầu bài học để trả lời và theo dõi tiến độ.
Tất cả bài học trong Lập trình hướng đối tượng
1Đối tượng và từ khóa this
Ôn nhanh: đối tượngThêm phương thức vào đối tượngTìm hiểu từ khóa thisHàm khởi tạoTừ khóa newThử thách ôn tập7Kế thừa và từ khóa extends
Kế thừaQuan hệ "là một"Từ khóa extendsPhương thức super()Kế thừa thuộc tính và phương thứcThử thách ôn tập13Kết hợp hay kế thừa
Quan hệ “có một” và “là một”Những hạn chế của kế thừa nhiều tầngXây dựng đối tượng5Đóng gói và quyền truy cập
Đóng góiTrường công khai và trường riêng tưPhương thức riêng tưThử thách ôn tập8Tổ chức code OOP
Tổ chức các lớp thành module11Dự án: Trình hiển thị hình dạng
Thiết lập: lớp Hình dạng và xuấtKế thừa lớp Hình trònGhi đè và phương thức diện tíchBộ đếm hình dạng tĩnh6Dự án: Tài khoản ngân hàng đơn giản
Lớp BankAccountGửi tiền và rút tiềnSố dư dưới dạng thuộc tính riêng tư9Phương thức và thuộc tính tĩnh
Cấp lớp và cấp instanceThuộc tính tĩnhPhương thức tiện ích tĩnhThử thách ôn tậpTự luyện tập: Trình biên dịch JavaScript online