⊗jsPmFTFENN 234 of 505 menu

ฟังก์ชันที่มีชื่อ แต่เป็น Function Expression ใน JavaScript

ตอนนี้เรามาสร้างฟังก์ชันที่จะมีชื่อ แต่จะเป็น Function Expression เพราะมีส่วนร่วมในการแสดงออก (expression):

+function func() { console.log('!'); }

น่าสนใจที่เราจะไม่สามารถเข้าถึงฟังก์ชันของเราได้ด้วยชื่อ func ซึ่งจะทำให้เกิดข้อผิดพลาด:

+function func() { console.log('!'); } func(); //!! จะทำให้เกิดข้อผิดพลาด

เพื่อให้สามารถเรียกใช้ฟังก์ชันของเราได้ เราจำเป็นต้องกำหนดค่าให้กับตัวแปรบางตัว:

let test = function func() { console.log('!'); }; test(); // จะแสดง '!'

อีกครั้ง: ฟังก์ชันที่เป็น functional expression ไม่สามารถถูกเรียกด้วยชื่อของมันได้ ฟังก์ชันดังกล่าวสามารถถูกเรียกได้เฉพาะด้วยการใช้ตัวแปรที่ฟังก์ชันนั้นถูกบันทึกไว้

แต่ถึงกระนั้น functional expression ก็สามารถมีชื่อฟังก์ชันได้ ซึ่งจะถูกต้องตามหลักไวยากรณ์ เราจะมาวิเคราะห์กันในบทเรียนถัดไปว่าสิ่งนี้มีไว้เพื่ออะไร

มาสรุปกัน: ฟังก์ชันจะเป็น Function Declaration หรือ Function Expression ไม่ใช่เพราะว่ามีหรือไม่มีชื่อ แต่เป็นเพราะมันมีส่วนร่วมในการแสดงออก (expression) หรือไม่

อย่างที่คุณเห็นข้างต้น ฟังก์ชันที่ไม่มีชื่ออาจถูกมองว่าเป็น Function Declaration ในขณะที่ฟังก์ชันที่มีชื่ออาจเป็น Function Expression

ไทย
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣTürkmenTürkçeЎзбекOʻzbekTiếng Việt
เราใช้คุกกี้สำหรับการทำงานของเว็บไซต์ การวิเคราะห์ และการปรับเนื้อหาให้เหมาะสมส่วนบุคคล การประมวลผลข้อมูลเกิดขึ้นตาม นโยบายความเป็นส่วนตัว.
ยอมรับทั้งหมด ปรับแต่ง ปฏิเสธ