Pada tutorial sebelumnya, kita sudah mempelajari tentang Tutorial Belajar JavaScript Bagian 34 : Function Sebagai First Class Citizens di JavaScript. Dalam tutorial ini, kita akan belajar tentang cara menulis anonymous function JavaScript.
Pengantar anonymous function JavaScript
Anonymous function adalah function tanpa nama. Berikut ini sintaks cara mendefinisikan anonymous function:
(function () { //... });
Perhatikan bahwa jika Anda tidak menempatkan anonymous function di dalam tanda (), Anda akan mendapatkan pesan kesalahan sintaksis. Simbol () membuat sebuah ekspresi anonymous function yang mengembalikan objek function.
Anonymous function tidak dapat diakses setelah pembuatan awal. Oleh karena itu, Anda perlu menugaskannya ke sebuah variabel.
Misalnya, berikut ini anonymous function show yang menampilkan pesan :
let show = function() { console.log('Anonymous function'); }; show();
Dalam contoh ini, anonymous function tidak memiliki nama di antara kata kunci function dan tanda kurung ().
Karena kita perlu memanggil anonymous function nanti, kita menugaskan anonymous function ke variabel show.
Karena seluruh penugasan anonymous function ke variabel show membuat ekspresi yang valid, Anda tidak perlu membungkus anonymous function di dalam tanda kurung ().
Menggunakan anonymous function sebagai argumen
Dalam praktiknya, Anda sering melewatkan anonymous function sebagai argumen ke function lain. Sebagai contoh :
setTimeout(function() { console.log('Jalankan nanti setelah 1 detik') }, 1000);
Dalam contoh ini, kita meneruskan anonymous function ke function setTimeout(). Function setTimeout() menjalankan anonymous function ini satu detik kemudian.
Perhatikan bahwa function adalah first class citizens di JavaScript. Oleh karena itu, Anda dapat meneruskan function ke function lain sebagai argumen.
Eksekusi function
Jika Anda ingin membuat sebuah function dan menjalankannya segera setelah deklarasi, Anda dapat mendeklarasikan anonymous function seperti ini :
(function() { console.log('IIFE'); })();
Bagaimana skrip ini bekerja.
Pertama, tentukan ekspresi function :
(function () { console.log('Eksekusi function segera dijalankan'); })
Ekspresi ini mengembalikan function.
Kedua, panggil function dengan menambahkan tanda kurung () :
(function () { console.log('Eksekusi function segera dijalankan'); })();
dan terkadang, Anda mungkin ingin menyampaikan argumen ke dalamnya, seperti ini :
let orang = { namaDepan: 'Johan', nama belakang: 'Budi' }; (function () { console.log(orang.namaDepan} + ' ' + orang.namaBelakang); })(orang);
Arrow Function
ES6 memperkenalkan ekspresi function panah yang menyediakan singkatan untuk mendeklarasikan anonymous function:
Misalnya, function ini :
let show = function () { console.log('Anonymous function'); };
… dapat dipersingkat menggunakan function panah berikut :
let show = () => console.log('Anonymous function');
Demikian pula, anonymous function berikut :
let tambah = function (a, b) { return a + b; };
… secara functiononal setara dengan function panah berikut :
let tambah = (a,b) => a + b;
Kesimpulan
- Anonymous function adalah function tanpa nama.
- Anonymous function dapat digunakan sebagai argumen untuk function lain atau sebagai eksekusi function yang segera dipanggil.
Itu dia cara menulis anonymous function di JavaScript untuk mempersingkat penulisan sebuah function di javaScript.
0 Komentar