Muktadha wa Funktsisi Isiyounganishwa katika JavaScript
Wacha tuangalie nini kitatokea, ikiwa katika funktsisi
utaonyesha this, lakini hutaunganisha
kwa kipengele chochote, kama hivi:
function 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:
function func() {
console.log(this); // kiungo kwenye dirisha window
}
func();
Na ikiwa hali ni mkali, basi this
itahifadhi undefined:
"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:
"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.