میخوای وارد بازار کار بشی و محصولات خودت رو بفرشی همین الان ثبت نام کن
0

کلمه this در جاوا اسکریپت

کلمه کلیدی this در جاوا اسکریپت ؟ کلمه this یک کلمه کلیدی و رزرو شده در جاوا اسکریپت است که به شیء ای که متعلق به آن است اشاره دارد.

کلمه this بسته به مکانی که استفاده می شود، مقادیر مختلفی دارد:

  • در یک متد، thisبه شیء مالک متد اشاره می کند .
  • کلمه this به تنهایی ، به شیء سراسری اشاره دارد .
  • در یک تابع، thisبه شیء سراسری اشاره دارد .
  • در یک تابع ، در حالت سختگیرانه یا strict mode، this تعریف نشده یا undefined است.
  • در یک رویداد یا event ، thisبه عنصری که رویداد را دریافت کرده است ، اشاره دارد .
  • متد هایی مانند call()، و apply()می توانند thisرا به هر شیئی منسوب کنند .

کلمه کلیدی this در یک متد

در هر متد از شیء ، کلمه this به ” صاحب ” آن متد اشاره دارد.

در مثال ابتدای این درس ، کلمه this به شیء person اشاره دارد .

در مثال اول ، شیء person ، صاحب متد fullName است.

هنگامی که کلمه this به تنهایی استفاده شود ، مالک آن ، یک شیء سراسری است ، بنابراین this به یک شیء سراسری اشاره می کند.

در یک پنجره مرورگر ، کلمه this به [object Window] اشاره دارد :

در حالت سختگیرانه یا strict mode ، هنگامی که this به تنهایی استفاده می شود ، باز هم به شیء سراسری [object Window] اشاره می کند:

this در یک تابع (حالت پیش فرض)

در یک تابع جاوا اسکریپت ، صاحب تابع بطور پیش فرض صاحب this نیز هست، یعنی this به صاحب تابع اشاره می کند.

بنابراین ، در یک عملکرد ، this به شیء سراسری اشاره دارد [object Window].

حالت سختگیرانه جاوا اسکریپت اجازه اشاره پیش فرض را نمی دهد.

بنابراین در حالت سختگیرانه، هنگامی که this در یک تابع استفاده می شود ،undefined است.

در Event Handler ها یا به فارسی دستیاران رویداد، this به عنصر HTML که این رویداد را دریافت کرده است ، اشاره دارد:

در این مثال، this به شیء person اشاره دارد (شیء person «مالک» تابع است):

اتصال تابع صریح

call() و apply() توابع از پیش تعریف شده ی جاوا اسکریپت هستند.

از هردوی آنها می توان برای فراخوانی یک شیء با یک شیء دیگر به عنوان آرگومان استفاده کرد.

در این آموزش می توانید درباره call() و apply() بعداً بیشتر بخوانید .

در مثال زیر ، هنگام فراخوانی person1.fullName با person2 به عنوان آرگومان ، this به person2 اشاره می کند ، حتی اگر این متد مربوط به person1 باشد:

 

امیدواریم آموزش کلمه کلیدی this در جاوا اسکریپت نیز برای شما مفید واقع شده باشد .برای مطالعه پست‌های بیشتر ، ما را در مدرسه کدنویسی تلگرام  و یا در تی جوان اینستاگرام دنبال کنید.

نظراتتون رو زیر همین پست با ما به اشتراک بگذارید.

ارسال دیدگاه

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

×

سلام کاربر عزیز

هر سوالی دارید در این بخش هستیم تا شما رو راهنمائی کنیم

روی لوگومون کلیک کنید

× چطور میتونم کمکتون کنم؟