รูปแบบ“ function return function” มีชื่อใน JavaScript หรือไม่?


14

ฉันใช้รูปแบบนี้ค่อนข้างบ่อยใน JavaScript นี่คือตัวอย่าง:

const comments = [
  { text: 'Hello', id: 1 },
  { text: 'World', id: 4 },
];

const byId = id => element => element.id === id;

const comment = comments.find(byId(1));

บางครั้งรูปแบบนี้สามารถทำให้โค้ดของเราสามารถอ่านได้และเป็นโมดูล รูปแบบนี้เรียกว่าอะไร?

คำตอบ:


20

พวกเขาจะเรียกว่าฟังก์ชั่นการสั่งซื้อที่สูงขึ้น

ฟังก์ชันลำดับสูงกว่าคือฟังก์ชันที่สามารถใช้ฟังก์ชันอื่นเป็นอาร์กิวเมนต์หรือส่งกลับฟังก์ชันตามผลลัพธ์ - ฟังก์ชั่นการสั่งซื้อที่สูงขึ้นใน JavaScript โดย M. David Green


และคุณจบลงด้วยการปิด
โทมัสขยะ

3
JavaScript เป็นภาษาที่ฟังก์ชั่นทั้งหมดเป็นชั้นหนึ่ง หมายความว่าคุณสามารถส่งต่อพวกเขาไปรอบ ๆ ในตัวแปรเช่นค่าอื่น ๆ การปิดเป็นฟังก์ชันที่สามารถเข้าถึง "ขอบเขตคำศัพท์" ที่ล้อมรอบซึ่งมันถูกกำหนดไว้ ทำงานเล็กน้อยเช่นวิธีที่วัตถุมีการเข้าถึงตัวแปรสถานะวัตถุ
candied_orange

3
โดยเฉพาะในกรณีนี้เขากำลัง currying 2 args ลงถึง 1
user949300
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.