Mẫu chuỗi phương thức
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 16 trên 56.
Nối chuỗi phương thức là một mẫu lập trình cho phép bạn gọi nhiều phương thức trên cùng một đối tượng trong một câu lệnh. Mỗi phương thức trả về chính đối tượng đó (this), nhờ vậy bạn có thể gọi phương thức tiếp theo trên cùng một dòng.
Tạo một đối tượng bộ đếm đơn giản:
const counter = {
count: 0,
increment() {
this.count++;
return this;
},
decrement() {
this.count--;
return this;
},
getValue() {
return this.count;
}
};Giờ bạn có thể gọi các phương thức nối tiếp nhau:
// Gọi liên tiếp nhiều thao tác
counter.increment().increment().decrement();
// Giá trị đếm hiện là 1
console.log(counter.getValue()); // Đầu ra: 1Bí quyết để gọi nối tiếp các phương thức là trả về this từ mỗi phương thức mà bạn muốn có thể gọi nối tiếp.
Thử thách
Bạn được cung cấp một đối tượng máy tính đã có các phương thức add() và subtract(). Nhiệm vụ của bạn là thêm các phương thức multiply và divide, các phương thức này trả về this để có thể gọi nối tiếp.
Tự làm thử
import { calculator } from './calculator.js';
// Code kiểm thử, đừng sửa
const result1 = calculator.add(10).multiply(2).getValue();
console.log(result1); // Đầu ra phải là 20
// Đặt lại để kiểm thử lần thứ hai
calculator.value = 0;
const result2 = calculator.add(20).divide(4).subtract(1).getValue();
console.log(result2); // Đầu ra phải là 4Bà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