আমি নীচের উদাহরণে এই কীওয়ার্ডটির একটি অপ্রত্যাশিত মান পেয়েছি :
let x = {
z : 10 ,
get func1() {
return function(v) {
console.log(this === v);
}
}
}
x.func1(x)
এই কীওয়ার্ডটির মান হ'ল অবজেক্ট এক্স , যেন এটি that অবজেক্ট থেকে নির্বাহ করা হয়, আমি কেবলমাত্র এই গেম ফাংশনটির প্রত্যাশা করি যা এই কীওয়ার্ডটি কলিং অবজেক্ট x এর সমান
এই উদাহরণ আমাদের পার্থক্য দেখায়
let x = {
func2() {
return function(v) {
console.log(this === v);
}
}
}
x.func2()(x);
উভয় উদাহরণে ফানক 1 যা গেটর ফাংশন, এবং ফানক 2 যা বস্তুর একটি পদ্ধতি, অবজেক্ট এক্স থেকে নির্বাহ করা হয় এবং ফিরে ফাংশনটি সম্পাদন করা হয়। সুতরাং কেন প্রথম উদাহরণে এই মানটি x এর পরিবর্তে বিশ্বব্যাপী বস্তুর সমান নয় ।
x.func1()
।