Câu hỏi phỏng vấn Javascript
Câu hỏi

Bạn có thể đưa ra một ví dụ về hàm curry và giải thích tại sao cú pháp này lại có ích?

Câu trả lời

Ví dụ về một hàm curry trong JavaScript có thể như sau:

javascript Copy
function sum(a) {
  return (b) => {
    return (c) => {
      return a + b + c;
    };
  };
}

const addOne = sum(1);
const addOneAndTwo = addOne(2);
const result = addOneAndTwo(3); // Kết quả là 6

Trong ví dụ trên, hàm sum được curry hóa để nhận từng đối số một lần. Đầu tiên, nó nhận đối số a, sau đó trả về một hàm mới nhận đối số b, và cuối cùng là hàm nhận đối số c. Khi tất cả các đối số đã được cung cấp, nó sẽ thực hiện phép cộng và trả về kết quả.

Lợi ích của cú pháp này là:

  1. Ứng dụng một phần (Partial Application): Curry hóa cho phép bạn tạo ra các hàm mới từ một hàm hiện có bằng cách cố định một số đối số. Điều này giúp tái sử dụng mã nguồn và tạo ra các hàm với mục đích cụ thể từ m...
middle

middle

Gợi ý câu hỏi phỏng vấn

middle

So sánh việc sử dụng Async/AwaitGenerators để đạt được cùng một chức năng trong javascript?

junior

Kết quả đoạn code javascript sau là true hay false? Hãy giải thích tại sao?

middle

Symbol trong ES6 là gì?

Bình luận

Chưa có bình luận nào

Chưa có bình luận nào