SESI 33 - FUNCTION: PERBANDINGAN Func. Declaration & Func. Expression

September 08, 2018 by

Perilaku dari masing-masing fungsi dan kapan harus memakai fungsi deklarasi atau fungsi ekspresi akan dibahas pada sesi ini. Rumus kedua fungsi ada dibawah ini:
Function declaration: 
Function indentifier(ParameterList(optional)){Function body}


Function Expression:
Function indentifier[optional](ParameterList[optional]){Function body}

Jadi, fungsi ekspresi boleh saja tidak ada nama, artinya fungsi akan menjadi benar ketika fungsi ekspresi di taruh di dalam/di assign ke dalam sebuah variabel.
Contoh:
Func. Declaration
function tampilPesan(nama){
      alert('halo '+nama);
}

Func. Expression
var tampilPesan = function (nama){
                                    alert('halo '+nama);
                              }

Perbedaan lebih lanjut
+ Func. Deklarasi:
↳ Lebih flexibel (dapat ditulis dimanapun) → dapat ditulis deklarasi fungsi sebelum/sesudah pemanggilan fungsi. Hal ini terjadi karena di dalam javascript terdapat konsep namanya hoisting, karena deklarasi sebuah function pasti disimpan lebih dahul di dalam memori.
↳ Mudah dipaham untuk pemula.

+Func. Expresi
↳ Harus didefinisikan terlebih dahulu sebelum dipanggil
↳ Lebih powerfull, karena kita bisa membuat function ekspressi sebagai closure. Atau bisa menjadi argument untuk function lain. Bisa dibuat sebagai IIFE (Immediately Invoked Function Expression).

Contoh:
var tampilPesan = function(nama){
     alert('halo '+nama);
}
tampilPesan('Riventus');

↳F. Ekspresi juga digunakan pemrograman javascript lebih lanjut dan lebih modern (functional programming) dan JQuery (konsep F. ekspresi ada). 

0 comments:

Post a Comment