Ví dụ về hàm Curry và lợi ích của cú pháp Curry

Hàm curry cho phép bạn chia một hàm với nhiều tham số thành các hàm con, mỗi hàm nhận một tham số tại một thời điểm. Điều này giúp tăng tính tái sử dụng và tính linh hoạt khi làm việc với hàm.

// Hàm curry cơ bản
function multiply(a) {
    return function(b) {
        return function(c) {
            return a * b * c;
        };
    };
}

// Sử dụng
const result = multiply(2)(3)(4);  // Kết quả là 2 * 3 * 4 = 24
console.log(result);               // In ra: 24

Lợi ích của cú pháp curry

Tái sử dụng dễ dàng: Bạn có thể tạo ra các hàm mới từ hàm gốc bằng cách gán một vài tham số và giữ lại các tham số còn lại để sử dụng sau.

const multiplyBy2 = multiply(2);
const result = multiplyBy2(3)(4);  // Kết quả: 2 * 3 * 4 = 24
console.log(result);               // In ra: 24

Tăng tính linh hoạt: Curry cho phép bạn xây dựng các hàm phức tạp bằng cách chia nhỏ logic thành các bước nhỏ hơn, giúp code dễ đọc và bảo trì hơn.