Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> JavaScript

Currying trong JavaScript


Currying

Kỹ thuật biến hàm nhiều tham số thành chuỗi hàm mỗi hàm 1 tham số. Hàm nhận tham số đầu, trả về hàm nhận tham số thứ 2, v.v. cho đến khi đủ tham số.

Ứng dụng

  • Tránh truyền lại cùng biến nhiều lần.
  • Rất hữu ích trong event handling.

Cú pháp (ES6 arrow function)

function MyFunction(a) { return (b) => { return (c) => { return a * b * c } } }

Ví dụ 1: Không dùng currying

<html> <body> <script> function volume(length, width, height) { return length * width * height; } document.write(volume(11, 2, 3)); </script> </body> </html>

Kết quả

66

Ví dụ 2: Dùng currying

<html> <body> <script> function volume(length) { return function(width) { return function(height) { return height * width * length; } } } document.write(volume(11)(2)(3)); </script> </body> </html>

Kết quả

66