Fungsi sebagai Variabel dalam JavaScript
Jadi, dalam pelajaran sebelumnya kita telah mengetahui, bahwa dengan mengakses fungsi tanpa tanda kurung, kita mendapatkan kode sumbernya.
Sebenarnya jauh lebih menarik. Dalam JavaScript, berbeda dengan bahasa lain, fungsi adalah nilai variabel yang sama seperti angka, string, dan array.
Mari kita lihat contohnya. Misalkan kita
memiliki fungsi func:
function func() {
console.log('!');
}
Sebenarnya kita tidak memiliki fungsi func.
Kita memiliki variabel func yang menyimpan
kode sumber fungsi.
Kita bisa, misalnya, menimpa variabel
func dengan sesuatu yang lain, contohnya,
string. Dalam hal ini, fungsi func
tidak akan lagi menjadi fungsi, melainkan menjadi string.
Lihat contohnya:
function func() {
console.log('!');
}
func(); // akan menampilkan '!'
func = 'string'; // timpa variabel func
console.log(func); // akan menampilkan 'string'
Buatlah fungsi func yang akan
mengembalikan melalui return suatu string.
Tampilkan hasil eksekusi fungsi func
di konsol.
Tampilkan kode sumber fungsi func
di konsol.
Masukkan ke dalam variabel func angka 123,
dengan demikian menimpa fungsi dari variabel tersebut.
Tampilkan nilai baru variabel func
di konsol.