Muktadha wa Funktsisi Isiyounganishwa katika JavaScript

Wacha tuangalie nini kitatokea, ikiwa katika funktsisi utaonyesha this, lakini hutaunganisha kwa kipengele chochote, kama hivi:

javascriptfunction func() {
  console.log(this);
}

func();

Katika kesi hii matokeo yanategemea ikiwa hali yetu ni mkali au la. Ikiwa hali sio mkali, basi this itahifadhi kiungo kwenye window:

javascriptfunction func() {
  console.log(this); // kiungo kwenye dirisha window
}

func();

Na ikiwa hali ni mkali, basi this itahifadhi undefined:

javascript"use strict";

function func() {
  console.log(this); // undefined
}

func();

Kutokana na yaliyosemwa hapo juu inaweza kuonekana kuwa katika hali mkali this itakuwa daima undefined. Si hivyo! Ikiwa tu utaonyesha this nje ya funktsisi, basi ndani yake kutakuwa na kiungo kwenye window bila kujali hali:

javascript"use strict";
console.log(this); // kwenye this kuna kiungo kwenye window

Hitimisho

Katika funktsisi yoyote unaweza kuandika this, hii haitasababisha makosa yoyote ya JavaScript. Lakini hasa nini kitakuwamo kwenye hii this haijaainishwa hadi wakati wa kuitekeleza funktsisi. Na hata kwa kuitenga funktsisi kwa njia tofauti this inaweza kuchukua thamani tofauti. Yote yanategemea muktadha ambao funktsisi ilitekelezwa.