Arrow function কখনো অবজেক্ট মেথড হিসেবে ব্যবহার করা উচিত নয় কারণ এর নিজস্ব this নেই। এটা enclosing lexical scope-এর this (window object) নেয়, নাকি নিজের অবজেক্ট। এতে সমস্যা হয় কারণ আমরা অবজেক্টের প্রপার্টি না এক্সেস করে window-এর প্রপার্টি অ্যাক্সেস/সেট করি।
উদাহরণ
<!DOCTYPE html>
<html lang="bn">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Arrow Function Avoidance</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>Arrow Function কখন ব্যবহার করা উচিত নয়</h1>
<br />
<div class="result"></div>
<br />
<button class="Btn">এখানে ক্লিক করুন</button>
<h3> obj অবজেক্টের add() মেথড কল করতে বোতামে ক্লিক করুন</h3>
<script>
const btnEle = document.querySelector(".Btn");
const resEle = document.querySelector(".result");
const obj = {
a: 22,
b: 44,
add: () => {
return this.a + this.b;
},
};
btnEle.addEventListener("click", (event) => {
resEle.innerHTML = `২২ ও ৪৪-এর যোগফল = ${obj.add()}`;
});
</script>
</body>
</html>
আউটপুট

'এখানে ক্লিক করুন' বোতামে ক্লিক করার পর:
