Fungsi dengan Format Ekspresi di JavaScript
Pada bagian sebelumnya kita sudah mengenal fungsi dan bagaimana caran menulisnya di JavaScript. Fungsi-fungsi yang kita tulis sebelumnya menggunakan sebuah cara penulisan fungsi yang disebut dengan function statement atau function declaration.
Ada sebuah cara lain yang bisa digunakan untuk menulis fungsi di JavaScript, yaitu dengan format ekspresi atau function expressions.
Pada dasarnya, function expression juga mirip dengan function statement. Perbedaan utama keduanya adalah pada nama dari fungsi pada saat dideklarsikan. Function expression ditulis tanpa nama sehingga bisa digunakan untuk membuat fungsi secara anonymous.
Fungsi anonymous sering digunakan untuk membuat fungsi callback, juga bisa digunakan untuk melakukan sebuah teknik yang dikenal dengan nama IIFE (Immediately Invoked Function Expression).
Pseudo-code Penulisan Fungsi dengan Format Ekspresi di JavaScript
Seperti yang sudah kita tahu, pada JavaScript kita bisa menyimpan apa saja ke dalam sebuah variabel.
Sehingga dalam praktiknya, function expression disimpan ke dalam sebuah variabel agar dapat digunakan nanti pada bagian tertentu di dalam progam.
Misalnya kita ingin membuat sebuah fungsi yang melakukan perkalian sebuah nilai dengan dua (2) sama seperti yang kita lakukan sebelumnya dengan function statemen, dalam format function expression, kita bisa melakukannya seperti berikut:
var kaliDua = function(x) { return x * 2; }
Dengan begitu kita sudah melakukan deklarasi sebuah fungsi dan menyimpannya ke dalam sebuah variabel bernama “kaliDua”. Kita dapat menggunakan fungsi tersebut dengan cara memanggilnya seperti berikut:
var hasil_1 = kaliDua(10); console.log(hasil_1); // men
Satu lagi perbedaan antara function expression dengan function statement adalah function expression tidak bersifat hoisting, yang berarti sebuah fungsi yang dibuat dengan function expression tidak bisa digunakan pada atas bagian program.
Sedangkan function statement bersifat hoisting, sehingga function statement bisa digunakan pada bagian atas program walaupun fungsi tersebut dideklarasikan pada bagian bawah program setelahnya.
Fungsi dengan Format Ekspresi Bernama di JavaScript
Sekarang kamu sudah mengerti cara menulis dan perbedaan dari function statement dan function expression yang ada di JavaScript.
Ada sebuah teknik lain untuk membuat fungsi di JavaScript yang mengkombinasikan function statement dan function expression, yaitu format fungsi ekspresi bernama atau named function expression.
Fungsi dengan format ekspresi bernama adalah sebuah teknik yang digunakan untuk membuat sebuah fungsi di JavaScript yang menggabungkan cara function statement dan function expression.
Misalnya kamu ingin membuat sebuah fungsi yang melakukan perkalian sebuah angka dengan dua seperti sebelumnya dengan menggunakan fungsi ekspresi bernama, kamu bisa melakukannya dengan menggunakan cara seperti berikut:
var mengalikanDua = function kaliDua(x){ return x * 2; }
Pada potongan kode diatas, kamu harus memperhatikan bahwa cara kita menulis fungsi bukan dengan menggunakan fungsi anonymous karena fungsi tersebut memiliki nama “kaliDua”.
Namun kemudian kita menyimpan fungsi tersebut ke dalam sebuah variabel yang memiliki nama “mengalikanDua”.
Untuk menggunakan fungsi tersebut, kita tidak dapat memanggilnya dengan menggunakan nama dari fungsi tersebut (kaliDua) karena pada kenyataannya fungsi tersebut tetaplah function expression.
Untuk memanggilnya kita menggunakan nama dari variabel yang digunakan untuk menyimpan variabel tersebut yaitu “mengalikanDua”, sehingga kita bisa memanggilnya seperti berikut:
var hasil_1 = mengalikanDua(10); console.log(hasil_1);
Itulah function expression dan bagaimana cara menggunakannya sebagai salah satu cara yang bisa digunakan untuk membuat fungsi di JavaScript.
Kamu bisa menggunakan salah satu cara yang kamu suka atau yang sesuai dengan kebutuhan kamu.