Функцияларни эълон қилиш фарқи
Функцияни эълон қилишнинг икки usuli ҳам баробар, лекин муҳим фарқ бор: Function Declaration сифатида эълон қилинган функциялар, улар эълон қилинганга қадар уларга мурожаат қилинса ҳам, дастурда мавжуд бўлади.
Мисолга қаранг:
// Функцияга уни эълон қилишдан олдин мурожаат қиламиз:
func(); //'!' чиқади
function func() {
console.log('!');
}
Функционал ифодалар эса код ишга туширилган пайтда яратилади ва юқорида мавжуд эмас. Шу сабабдирки, бундай код хатолик берadi:
func(); //хатолик, бу функция ҳали мавжуд эмас!
let func = function() {
console.log('!');
};
Функцияни Function Declaration сифатида яратинг. Уни ўз эълон қилинган жойидан юқорида мавжуд эканлигини текширинг.
Функцияни Function Expression сифатида яратинг. Уни ўз эълон қилинган жойидан юқорида мавжуд эмасligini текширинг.