অ্যারো ফাংশন মেথড হিসেবে
ফ্যাট অ্যারো ফাংশন (=>) কোড লাইন কমায় এবং function কীওয়ার্ড বারবার লিখতে হয় না। সাধারণত নন-মেথড ফাংশনের জন্য ব্যবহৃত হয়, কিন্তু মেথড হিসেবে ব্যবহার করলে this বাইন্ডিং সমস্যা হতে পারে।
উদাহরণ: সমস্যা এবং সমাধান
<!DOCTYPE html>
<html>
<body>
<script>
'use strict';
var ob1 = {
val1: 75,
val2: 100,
// অ্যারো ফাংশন - this লেক্সিক্যাল (window/undefined)
x: () => document.write(this.val1, this),
// রেগুলার ফাংশন - this = ob1
y: function() {
document.write("<br>" + this.val1, this);
},
// অন্য রেগুলার ফাংশন
z: function() {
document.write("<br>" + this.val2, this);
}
};
ob1.x(); // this = window (strict mode-এ undefined)
ob1.y(); // this = ob1
ob1.z(); // this = ob1
</script>
</body>
</html>
সঠিক পদ্ধতি: মেথডে রেগুলার ফাংশন ব্যবহার করুন
const obj = {
value: 42,
// ✅ ভালো - রেগুলার ফাংশন (মেথড শর্টহ্যান্ড)
method() {
console.log(this.value); // 42
},
// ❌ খারাপ - অ্যারো ফাংশন (লেক্সিক্যাল this)
badMethod: () => {
console.log(this.value); // undefined/window
}
};
অ্যারো ফাংশন ব্যবহার করার উপযুক্ত ক্ষেত্র
- কলব্যাক ফাংশন:
arr.map(x => x * 2) - ইভেন্ট হ্যান্ডলার (যখন this দরকার নেই)
- সেটটাইমআউট/ইন্টারভ্যাল কলব্যাক
- প্রমিস চেইন:
.then(x => x * 2)