Funksiya elanlarının fərqi
Funksiya elan etməyin hər iki üsulu ekvivalentdir, amma əhəmiyyətli bir fərq var: Function Declaration kimi elan edilmiş funksiyalar, onlar elan edilməmişdən əvvəl onlara müraciət etsəniz belə, əlçatan olacaqlar.
Nümunəyə baxın:
// Funksiyaya onun elanından əvvəl müraciət edirik:
func(); //'!' çap edəcək
function func() {
console.log('!');
}
Funksiya ifadələri isə kod icra olunma anında yaradılır və yuxarıda əlçatan deyillər. Buna görə də belə bir kod xəta verəcək:
func(); //xəta, belə bir funksiya hələ yoxdur!
let func = function() {
console.log('!');
};
Funksiyanı Function Declaration kimi yaradın. Onun öz elan yerindən yuxarıda əlçatan olacağını yoxlayın.
Funksiyanı Function Expression kimi yaradın. Onun öz elan yerindən yuxarıda əlçatan olmayacağını yoxlayın.