Middle+
var istifadə edilən öz-çağıran funksiya (IIFE) olan kod var. Konsolda typeof a və typeof b çağırıldıqda nə göstəriləcək? Ciddi rejimdə davranış necə dəyişəcək?
sobes.tech Süni İntellekt
AI-dan cavab
İçində IIFE daxilində dəyişənlər var ilə elan olunubsa, məsələn:
(function() {
var a = 10;
b = 20; // var olmadan
})();
console.log(typeof a); // "undefined"
console.log(typeof b); // "number"
var ilə elan olunan a dəyişəni funksiyanın daxilində yerli və xaricdən əlçatan deyil, ona görə də typeof a "undefined" qaytaracaq.
var, let və ya const olmadan elan olunan b dəyişəni, qeyri-sert rejimdə, qlobal dəyişən yaradır. Buna görə də, typeof b "number" qaytaracaq.
Qatı rejimdə ('use strict';), qeyri-elan olunmuş dəyişənə dəyər təyin etməyə cəhd (b = 20;) ReferenceError xətası ilə nəticələnəcək və qlobal dəyişən yaradılmayacaq. Beləliklə, funksiyadan kənarda hər iki dəyişən əlçatan olmayacaq və typeof a və typeof b "undefined" qaytaracaq (və ya bu səhv əvvəlcədən atılacaq).