Functional Programming

Cheat sheet for Functional Programming

Functional Programming

แนวคิด Functional Programming มุ่งเน้นการเขียนโปรแกรมโดยใช้ Pure Functions และหลีกเลี่ยง Shared State หรือ Mutable Data

Pure Functions

Pure Functions คือฟังก์ชันที่มีคุณสมบัติดังนี้:

  • ให้ Output ที่เหมือนเดิมเสมอเมื่อได้รับ Input เดียวกัน (Deterministic)
  • ไม่มี Side Effects หรือการเปลี่ยนแปลง State นอกฟังก์ชัน

Immutability

Immutability หมายถึงการที่ Data ไม่สามารถถูกเปลี่ยนแปลงได้หลังจากถูกสร้างขึ้น หากต้องการปรับเปลี่ยน Data จะต้องสร้าง Data ขึ้นมาใหม่แทนการแก้ไข Data เดิม

Higher-Order Functions

Higher-Order Functions คือฟังก์ชันที่สามารถรับฟังก์ชันอื่นเป็น Argument หรือสามารถคืนค่า Output เป็นฟังก์ชันได้ ซึ่งช่วยในการทำ Function Composition และการสร้าง Abstraction ที่มีความยืดหยุ่นสูง

Declarative vs Imperative

  • Declarative: การเขียนโค้ดที่อธิบายว่าต้องการผลลัพธ์อะไร (What to do) เช่น การใช้ map, filter, หรือ reduce
  • Imperative: การเขียนโค้ดที่ระบุขั้นตอนการทำงานอย่างละเอียด (How to do) เช่น การใช้ for loop ในการเปลี่ยนแปลงตัวแปร State

AI Knowledge Assistant

สวัสดีครับ! ผมคือ AI Assistant ประจำเว็บไซต์

คุณสามารถสอบถามข้อมูลด้าน Computer Science, Business, หรือ Finance ได้เลยครับ