জেভাস্ক্রিপ্ট থিস কীওয়ার্ড
- পূর্ববর্তী পৃষ্ঠা জেএস স্ট্রিক্ট মোড
- পরবর্তী পৃষ্ঠা জেএস অর্ডার ফাংকশন
উদাহরণ
var person = { firstName: "Bill", lastName : "Gates", id : 678, fullName : function() { return this.firstName + " " + this.lastName; } };
this কী হয়?
JavaScript this
এই শব্দটি এটা সংশ্লিষ্ট অবজ্যেটকে নির্দেশ করে
এটা ভিন্ন মূল্যকে মালিকানা করে, তা ব্যবহারের অবস্থান নির্ভর করে
- পদ্ধতিতে
this
এটা মালিক অবজ্যেটকে নির্দেশ করে - এককভাবে
this
এটা সমগ্র অবজ্যেটকে নির্দেশ করে - ফাংশনে
this
এটা সমগ্র অবজ্যেটকে নির্দেশ করে - ফাংশনে, সতর্ক মোডে
this
অসংজ্ঞিত - ঘটনায়
this
এটা ঘটনা গ্রহণকারী অবজ্যেটকে নির্দেশ করে
অনুরূপ call()
এবং apply()
এই ধরণের পদ্ধতি this-কে কোনো অবজ্যেটে উল্লেখ করতে পারে
পদ্ধতিতে this
অবজ্যেট পদ্ধতিতেthis
এটা এই পদ্ধতির "মালিক"-কে নির্দেশ করে
এই পৃষ্ঠার শীর্ষের উদাহরণেthis
এটা person অবজ্যেটকে নির্দেশ করে
person অবজ্যেট হলো fullName পদ্ধতির মালিক
fullName : function() { return this.firstName + " " + this.lastName; }
একক this
এককভাবে ব্যবহার করা হলে, মালিক সমগ্র অবজ্যেট this
এটা সমগ্র অবজ্যেটকে নির্দেশ করে
ব্রাউজার উইন্ডোতে, সমগ্র অবজ্যেট [object Window]
হলো
উদাহরণ
var x = this;
সতর্ক মোডে, এককভাবে ব্যবহার করা হলে this
এটা সমগ্র অবজ্যেটকে নির্দেশ করে [object Window]
হলো
উদাহরণ
"use strict"; var x = this;
ফাংশনের মধ্য this (ডিফল্ট)
জাভাস্ক্রিপ্ট ফাংশনে, ফাংশনের মালিক ডিফল্ট বাঁধা this
。
এইভাবে, ফাংশনের মধ্যেthis
এটা সমগ্র অবজ্যেটকে নির্দেশ করে [object Window]
。
উদাহরণ
function myFunction() { return this; }
ফাংশনের মধ্যে this (সতর্ক মোড)
JavaScript সতর্ক মোড ডিফল্ট বাঁধা অনুমত করে না。
তাই, ফাংশনের মধ্যে ব্যবহার করার সময়, সতর্ক মোডেthis
হলো অসংজ্ঞিত (undefined
})
উদাহরণ
"use strict"; function myFunction() { return this; }
ঘটনা প্রসঙ্গকারী প্রক্রিয়ায় this
এইভাবে HTML ঘটনা প্রসঙ্গকারী প্রক্রিয়ায়this
এটা ঘটনাটি গ্রহণকারী HTML অবজ্যেটকে নির্দেশ করে
উদাহরণ
<button onclick="this.style.display='none'"> এটা আমাকে মুক্ত করুন! </button>
অবজ্যেট পদ্ধতি বাঁধা
এই উদাহরণেthis
তা person অবজ্যেট (person অবজ্যেট হল এই ফাংশনের "মালিক")
উদাহরণ
var person = { firstName : "Bill", lastName : "Gates", id : 678, myFunction : function() { return this; } };
উদাহরণ
var person = { firstName: "Bill", lastName : "Gates", id : 678, fullName : function() { return this.firstName + " " + this.lastName; } };
}অর্থাৎ this.firstName thisএবং firstName প্রতিকৃতি
এক্সপ্লিসিট ফাংকশন বাইন্ডিং
call()
এবং apply()
প্রিমিটিভ জেভাস্ক্রিপ্ট মেথড
তারা দুটিই অন্য অবজেক্টকে প্রতিকৃতি করে মেথড কল করার জন্য ব্যবহার করা হয়
আপনি এই টিউটোরিয়ালের পরে তাদের বিষয়ে পড়তে পারেন call()
এবং apply()
আরও বিষয়ে
যখন person2 person1.fullName-এর প্রতিকৃতি হিসাবে person2-কে প্রতিকৃতি করা হয়,this
যদি person2 person1.fullName-এর প্রতিকৃতি হয়, তবে person1 এর পদ্ধতি হবে:
উদাহরণ
var person1 = { fullName: function() { return this.firstName + " " + this.lastName; } } var person2 = { firstName:"Bill", lastName: "Gates", } person1.fullName.call(person2); // ফলে "Bill Gates" আসবে
- পূর্ববর্তী পৃষ্ঠা জেএস স্ট্রিক্ট মোড
- পরবর্তী পৃষ্ঠা জেএস অর্ডার ফাংকশন