- Published on
Higher-Order Function trong Javascript là gì?
- Authors
- Name
- Tien Minh Pham
- @TinMinhPhm1
Usage
Higher-Order Function (Hàm bậc cao) là hàm có một trong hai (hoặc cả hai) đặc điểm sau:
- Nhận hàm khác làm đối số: Higher-Order Function có thể nhận hàm khác làm tham số đầu vào.
- Trả về một hàm khác: Higher-Order Function có thể trả về một hàm làm kết quả.
Những hàm bậc cao giúp chúng ta dễ dàng xử lý các hành vi, các đoạn mã lặp lại hoặc điều kiện phức tạp, vì chúng cho phép truyền logic thông qua hàm và trả về những hàm có hành vi mới tùy thuộc vào ngữ cảnh. Đây là một trong những điểm nổi bật của JavaScript trong lập trình hàm (functional programming).
// Ví dụ 1: Hàm nhận một hàm khác làm đối số
function applyOperation(a, b, operation) {
return operation(a, b)
}
function add(x, y) {
return x + y
}
console.log(applyOperation(5, 10, add)) // Kết quả: 15
// Ví dụ 2: Hàm trả về một hàm khác
function multiplier(factor) {
return function (number) {
return number * factor
}
}
const double = multiplier(2)
console.log(double(5)) // Kết quả: 10
Trong ví dụ trên:
applyOperation
là một Higher-Order Function vì nó nhậnoperation
là một hàm làm tham số.multiplier
cũng là Higher-Order Function vì nó trả về một hàm khác.