การเรียกใช้ฟังก์ชันทันทีใน JavaScript
ตอนนี้เราจะมาดูเทคนิคที่ช่วยให้สามารถ เรียกใช้ฟังก์ชันได้ทันทีที่ประกาศ โครงสร้างเช่นนี้เรียกว่า Immediately Invoked Function Expression (IIFE)
เรามาดูตัวอย่างกัน สมมติว่าเรามี นิพจน์ฟังก์ชันดังต่อไปนี้:
let func = function() {
console.log('!');
};
func(); // แสดงผล '!'
ตอนนี้เราจะไม่นำฟังก์ชันของเรา ไปกำหนดให้กับตัวแปร แต่จะเรียกใช้มันทันที "ที่ตำแหน่งนั้น" ในการทำเช่นนี้ เราใส่ วงเล็บหลังฟังก์ชัน:
+function() {
console.log('!'); // แสดงผล '!'
}();
การมีเครื่องหมายบวกในกรณีนี้เป็นเงื่อนไขที่จำเป็น เพราะหากไม่มี ฟังก์ชันจะกลายเป็น Function Declaration และเราไม่สามารถเรียกใช้ Function Declaration ทันที (ยิ่งถ้า ไม่มีชื่อ) ได้ แน่นอนว่าแทนที่จะเป็น เครื่องหมายบวก อาจเป็นอะไรก็ได้ - สิ่งสำคัญคือ ฟังก์ชันของเราต้องเป็นนิพจน์ฟังก์ชัน
กำหนดโดยไม่ต้องรันโค้ด ว่าผลลัพธ์ที่ แสดงในคอนโซลจะเป็นอะไร:
!function() {
console.log('!');
}();
กำหนดโดยไม่ต้องรันโค้ด ว่าผลลัพธ์ที่ แสดงในคอนโซลจะเป็นอะไร:
function() {
console.log('!');
}();