Perbezaan Pengisytiharan Fungsi
Kedua-dua cara untuk mengisytiharkan fungsi adalah setara, tetapi terdapat perbezaan yang ketara: fungsi yang diisytiharkan sebagai Function Declaration akan boleh diakses, walaupun dirujuk sebelum ia diisytiharkan.
Lihat contoh:
// Rujuk fungsi sebelum pengisytiharannya:
func(); //akan output '!'
function func() {
console.log('!');
}
Manakala ungkapan fungsi (Function Expression) dicipta pada saat kod dilaksanakan dan tidak boleh diakses di atasnya. Oleh itu kod seperti ini akan menghasilkan ralat:
func(); //ralat, fungsi ini belum wujud!
let func = function() {
console.log('!');
};
Cipta fungsi sebagai Function Declaration. Pastikan ia boleh diakses di atas tempat pengisytiharannya.
Cipta fungsi sebagai Function Expression. Pastikan ia tidak boleh diakses di atas tempat pengisytiharannya.