কম্পিউটার টিউটোরিয়াল

জাভাস্ক্রিপ্টে 'this' কীওয়ার্ড কীভাবে কাজ করে?


this কীওয়ার্ড

জাভাস্ক্রিপ্টে this কীওয়ার্ডটি একটি রেফারেন্স হিসেবে কাজ করে যা এক্সিকিউট হচ্ছে কোডের অবজেক্ট বা সাবজেক্টকে নির্দেশ করে।

উদাহরণ

<script>
    var college = {
        subject: "Maths",
        lecturer: "Amy",
        details: function() {
            document.write(this.subject);
        }
    };
</script>

this বাইন্ডিং নিয়মাবলী

কল টাইপthis বাইন্ড होताউদাহরণ
গ্লোবাল স্কোপwindow (ব্রাউজার) / global (Node)console.log(this); // window
ফাংশন কল (non-strict)window / globalfunc(); // this = window
ফাংশন কল (strict)undefined"use strict"; func(); // this = undefined
মেথড কলঅবজেক্ট (owner)obj.method(); // this = obj
কনস্ট্রাক্টর (new)নতুন ইনস্ট্যান্সnew MyClass(); // this = new instance
call/apply/bindএক্সপ্লিসিট আর্গুমেন্টfunc.call(obj); // this = obj
অ্যারো ফাংশনলেক্সিক্যাল (পেরেন্ট স্কোপ)() => this; // enclosing scope

সাধারণ সমস্যা এবং সমাধান

var obj = {
    value: 42,
    getValue: function() {
        return function() {
            return this.value; // this = window/undefined
        };
    }
};

// সমাধান ১: Arrow function
getValue: function() {
    return () => this.value; // this = obj
}

// সমাধান ২: bind
getValue: function() {
    return function() { return this.value; }.bind(this);
}

// সমাধান ৩: self/that ভেরিয়েবল
getValue: function() {
    var self = this;
    return function() { return self.value; };
}
  1. মাইক্রোসফট এজ পাসওয়ার্ড মনিটর কীভাবে কাজ করে?

  2. জাভাস্ক্রিপ্ট this কীওয়ার্ড ব্যাখ্যা

  3. জাভাস্ক্রিপ্টে yield* এক্সপ্রেশন/কিওয়ার্ড

  4. YouTube-এর রিকমেন্ডেশন ইঞ্জিন: অ্যালগরিদম কীভাবে ভিডিও সিলেক্ট করে