ไม่ควรใช้ฟังก์ชันลูกศรเป็นเมธอดของอ็อบเจ็กต์ เนื่องจากฟังก์ชันลูกศรไม่มีฟังก์ชันนี้ในตัวเอง จะใช้ค่านี้ของขอบเขตคำศัพท์ที่ล้อมรอบซึ่งเป็นวัตถุหน้าต่างแทนที่จะเป็นวัตถุเอง ซึ่งอาจทำให้เกิดปัญหาได้ในขณะที่เรากำลังรุมล้อมและเข้าถึงคุณสมบัติของวัตถุหน้าต่างแทนวัตถุที่ต้องการ
ต่อไปนี้เป็นรหัสที่แสดงเมื่อคุณไม่ควรใช้ฟังก์ชันลูกศร JavaScript -
ตัวอย่าง
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Document</title> <style> body { font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif; } .result { font-size: 20px; font-weight: 500; color: blueviolet; } </style> </head> <body> <h1>When to not use the arrow functions</h1> <br /> <div class="result"></div> <br /> <button class="Btn">CLICK HERE</button> <h3>Click on the above button to call the add() method of object obj</h3> <script> let BtnEle = document.querySelector(".Btn"); let resEle = document.querySelector(".result"); let obj = { a: 22, b: 44, add: () => { return this.a + this.b; }, }; BtnEle.addEventListener("click", (event) => { resEle.innerHTML = `The sum of ${obj.a} and ${obj.b} = ${obj.add()}`; }); </script> </body> </html>
ผลลัพธ์
เมื่อคลิกปุ่ม 'คลิกที่นี่' -