Lambda Functions

Lambda Functions แลมบ์ดาหมายถึงฟังก์ชันที่ไม่ระบุตัวตนในการเขียนโปรแกรม ฟังก์ชันแลมบ์ดามีรุปแบบในการเขียนกระชับ ฟังก์ชันเหล่านี้เรียกอีกอย่างว่า Arrow ฟังก์ชั่น.

โครงสร้างของฟังก์ชันแลมบ์ดา มี 3 องค์ประกอบดังนี้

1. มีพารามิเตอร์: สามารถใส่พารามิเตอร์ได้หลายตัว

2. มีสัญลักษณ์ของแอโร่ฟังก์ชัน/แลมบ์ดา ใช้ ( => ) : ซึ้งเรียนกว่าตัวดำเนินการลูกศร

3. มีคำสั่ง: ซึ่งสามารถมีคำสั่งได้หลายคำสั่ง (ชุดคำสั่งของฟังก์ชัน)

ตัวอย่างแลมบ์ดาฟังก์ชันหรือแอโร่ฟังก์ชัน แบบคำสั่งบรรทัดเดียว มีรูปแบบ

( [param1, parma2,…param n] )=>statement;

ตัวอย่าง

var foo=(x)=>10+x

console.log(foo(10))

ผลลัพธ์

20

จากตัวอย่างประกาศตัวแปรชื่อว่า foo พร้อมกำหนดค่าข้อมูลชนิดฟังก์ชันแบบแลมบ์ดาฟังก์ชัน มีพารามิเตอร์ 1 ตัวคือ x จากนั้นเลือกใช้ฟังก์ชันพร้อมส่งค่าพารามิเตอร์ไปใช้คือ 10 เมื่อฟังก์ชันทำงานผลลัพธ์ก็ได้ 20

ตัวอย่างแลมบ์ดาฟังก์ชันหรือแอโร่ฟังก์ชัน แบบชุดคำสั่งหลายบรรทัด มีรูปแบบ

( [param1, parma2,…param n] )=>

{

//code block

}

ตัวอย่าง

var msg=()=>

{

console.log("function invoked")

}

msg()

ผลลัพธ์

function invoked

จากตัวอย่างประกาศตัวแปรชื่อว่า msg จากนั้นเลือกใช้ฟังก์ชันเมื่อฟังก์ชันทำงานผลลัพธ์ก็ได้จะแสดงข้อความออกมา

ตัวอย่างแลมบ์ดาฟังก์ชันหรือแอโร่ฟังก์ชัน แบบที่มีพารามิเตอร์ตัวเดียว เราสามารถใส่พารามิเตอร์ลงไปได้เลยก่อนหน้าสัญลักษณธ์ลูกศร (=>) โดยไม่ต้องใส่พารามิเตรอ์ลงไปในวงเล็บ ( )

var msg=x=>

{

console.log(x)

}

msg(10)

ผลลัพธ์

10

ตัวอย่างแลมบ์ดาฟังก์ชันหรือแอโร่ฟังก์ชัน แบบบรรทัดเดียวและไม่มีพารามิเตอร์สามารถเขียนได้ดังนี้ คือใช้วงเล็บ() เปล่าลงไปก่อนหน้าสัญลักษณ์ลูกศร (=>)

var disp=()=>console.log("Hello World")

disp();

ผลลัพธ์

Hello World