อัปเดตล่าสุด July 11, 2024
ฟังก์ชัน (Functions) เป็นส่วนสำคัญของการเขียนโปรแกรมทุกภาษา ในภาษา JavaScript ก็เช่นกัน ฟังก์ชันช่วยให้สามารถจัดระเบียบโค้ดเป็นกลุ่มคำสั่งที่ทำงานร่วมกัน สามารถเรียกใช้ซ้ำได้ และส่งค่าผ่านพารามิเตอร์เพื่อประมวลผลได้ ฟังก์ชันช่วยให้โค้ดมีความคลีน อ่านง่าย และง่ายต่อการปรับปรุงแก้ไขโค้ด (Code Maintenance)
ในการประกาศฟังก์ชัน สามารถใช้คีย์เวิร์ด `function` ตามด้วยชื่อฟังก์ชัน, วงเล็บที่อาจมีพารามิเตอร์, และบล็อกคำสั่งที่เป็นเนื้อหาของฟังก์ชัน
function functionName(parameter1, parameter2) {// function body// code ที่จะทำงาน}
ตัวอย่างการประกาศฟังก์ชันง่าย ๆ
function greet(name) {console.log("Hello, " + name + "!");}
เมื่อประกาศฟังก์ชันแล้ว สามารถเรียกใช้ได้โดยการใช้ชื่อฟังก์ชันตามด้วยวงเล็บและอาร์กิวเมนต์ที่ต้องการส่งเข้าไปในฟังก์ชัน
functionName(argument1, argument2);
ตัวอย่างการเรียกใช้ฟังก์ชัน `greet` ที่ประกาศไว้ก่อนหน้า:
greet("John"); // Output: Hello, John!greet("Jane"); // Output: Hello, Jane!
ฟังก์ชันสามารถส่งค่ากลับเพื่อนำไปใช้งานต่อได้ โดยใช้คำสั่ง return
ตามด้วยค่าที่ต้องการส่งกลับ เมื่อฟังก์ชันพบคำสั่ง return
การทำงานของฟังก์ชันจะสิ้นสุดลงทันที และส่งค่ากลับไปยังจุดที่เรียกใช้
function square(number) {return number * number;}let result = square(5);console.log(result); // Output: 25
ตั้งแต่มาตรฐาน ECMAScript 6 (ES6) เป็นต้นมา JavaScript มีวิธีการประกาศฟังก์ชันแบบใหม่ที่กระชับและสะดวกยิ่งขึ้น เรียกว่าฟังก์ชันแบบ Arrow หรือ Arrow Functions
const functionName = (parameter1, parameter2) => {// function body// code ที่จะให้ทำงาน};
ตัวอย่างการประกาศและใช้งานฟังก์ชันแบบ Arrow
const greet = (name) => {return `Hello, ${name}!`;};console.log(greet("John")); // Output: Hello, John!
ถ้าฟังก์ชันมีเนื้อหาเพียงคำสั่งเดียว สามารถเขียนแบบย่อโดยไม่ต้องใช้วงเล็บปีกกาและคีย์เวิร์ด return
const square = (number) => number * number;console.log(square(5)); // Output: 25
ฟังก์ชันเป็นหัวใจสำคัญของการเขียนโปรแกรมใน JavaScript ช่วยให้สามารถสร้างโค้ดที่มีโครงสร้างชัดเจน แบ่งเป็นกลุ่มคำสั่งที่ทำงานร่วมกันได้ และสามารถนำกลับมาใช้ซ้ำได้ง่าย ความเข้าใจในการประกาศ เรียกใช้ และส่งค่ากลับจากฟังก์ชันจะช่วยให้สามารถเขียนโปรแกรมที่มีประสิทธิภาพ ยืดหยุ่น และง่ายต่อการพัฒนาต่อยอด