জাভাস্ক্রিপ্টে OOP-তে পদ্ধতি কোডে প্রসঙ্গ হারানো
একটি ক্লাসের পদ্ধতির মূল কোড ব্যবহার করার সময় প্রসঙ্গ হারাতে পারে। আসুন একটি উদাহরণ দিয়ে দেখি। ধরুন আমাদের নিম্নলিখিত ক্লাসটি আছে:
class User {
#name;
constructor(name) {
this.#name = name;
}
getName() {
return this.#name;
}
}
এই ক্লাসের একটি অবজেক্ট তৈরি করি:
let user = new User('john');
একটি ভেরিয়েবলে পদ্ধতির কোড লিখি:
let func = user.getName;
পদ্ধতির কোড একটি ভেরিয়েবলে লেখার মুহূর্তে
প্রসঙ্গ হারিয়ে গেছে। এখন this
পদ্ধতি কোডের ভিতরে ক্লাসের অবজেক্টটিকে
ইঙ্গিত করবে না। আসুন পরীক্ষা করি, আমাদের
ফাংশনটি কল করি:
console.log(func()); // ত্রুটি
সমস্যার সমাধানের জন্য, আমরা ফাংশনে
প্রসঙ্গ বাঁধতে পারি, উদাহরণস্বরূপ,
bind এর মাধ্যমে:
func = func.bind(user);
console.log(func()); // কাজ করে