Cara menggunakan apa itu function javascript?
Function pada JavaScript merupakan salah satu perkakas yang sangat powerful, paling fundamental, dan paling penting. Bisa saya bilang semua hal yang bisa dilakukan oleh JavaScript pasti didasari oleh function dan sifat-sifatnya. Jika Anda buka source code React, Vue, Redux, dan library JS lainnya, Anda bisa mengobservasi bahwa library-library tersebut ‘hanyalah’ kumpulan dari function-function. Show
Mari kita mulai dengan deklarasi fungsi. Deklarasi function di JavaScript sangat mudah, apalagi dengan menggunakan sintaks ES2015. // ES5 Sintaks function ES5 tetap dapat digunakan pada ES2015. 6 ways to declare JavaScript functions | Dmitri PavlutinA function is a parametric block of code defined one time and called any number of times later.dmitripavlutin.com Function digunakan untuk melakukan serangkaian komputasi/prosedur yang dapat digunakan berulang kali. Misalkan function add diatas. Anda dapat memanggil function add beberapa kali pun dan mengekspektasikan hasil a + b dari parameter. add(9, 1) // 10 Jika Anda memerlukan serangkaian prosedur yang sama dilakukan berulang-ulang pada program Anda maka mungkin Anda membutuhkan function. Function ScopeKetika Anda mendeklarasikan sebuah function, sebuah scope baru dibuat, yaitu scope didalam function Anda. Scope baru pada function berarti apapun yang terjadi didalam function Anda tidak bisa diketahui/diakses oleh expression/statement lain diluar function. Jika Anda mendeklarasikan variable atau pun function, inner function, di dalam function maka variable atau function tersebut tidak bisa diakses dari luar. Bisa dikatakan bahwa ketika function dibuat JavaScript akan membuat isolasi environment didalam function tersebut. Hal ini merupakan salah satu sifat JavaScript, yaitu Closure. const a2plusb2 = (a, b) => { Anda tidak bisa memanggil function secondPower dari luar scope function a2plusb2. Function secondPower hanya bisa diakses didalam scope a2plusb2. Satu contoh lagi. const greeting = (name) => { Perhatikan function hello. Function hello berada didalam scope function greeting. Oleh karena itu, function hello memiliki akses ke parameter name function greeting. Bagaimana dengan variable? let name = 'John';const greeting = () => { Pada contoh diatas, variable name yang berada dalam scope function greeting berbeda dengan variable name pada scope global. Walaupun memiliki nama yang sama kedua variable tersebut dideklarasikan pada scope berbeda sehingga tidak masalah walaupun memiliki nama yang sama. Selain itu Anda juga tidak bisa mengakses variable name yang memiliki value ‘John’ karena variabel tersebut shadowed oleh variable name dalam scope function yang bernilai ‘Adam’. Jika Anda ingin mengakses keduanya Anda perlu membedakan nama kedua variable tersebut. let globalName = 'John';const greeting = () => {Closure Inner variable dan inner function memberikan keuntungan, yaitu private function atau private variable. Dengan private function dan private variable didalam function Anda bisa mengisolasi suatu variabel hanya bisa direfer dari dalam function itu saja. Hal ini juga mengurangi kemungkinan variabel Anda bentrok dengan global variable. Jika Anda perhatikan pola diatas sama seperti object oriented programming dimana Anda memiliki sebuah class yang memiliki private variable atau function. Dengan JavaScript Anda dapat merperesentasikan object seperti class pada bahasa OOP dengan function. const Orang = (nama, gender, tanggalLahir) => { Konsep Closure diimplementasikan pada contoh function diatas untuk ‘membuat object’ Orang. Function Orang memiliki private variable berupa namaSaya, genderSaya, dan tanggalLahirSaya. Ketiga private variable tersebut tidak bisa diakses dari luar function Orang. Sementara itu function Orang mengembalikan sebuah object literal yang berisi kumpulan pasangan key value.
Ketika dikembalika ke sebuah variable Anda dapat memanggil fungsi yang di di-return seperti agus.nama() untuk mengembalikan nama. Property gender bukan merupakan function sehingga tidak butuh () pada akhirannya untuk mengembalikan value. Implementasi konsep closure pada function sangat berguna untuk mengimplementasikan dessign pattern di JavaScript dan membentuk sebuah library JavaScript. ClosuresA closure is the combination of a function and the lexical environment within which that function was declared.developer.mozilla.org Semoga penjelasan singkat tentang function diatas bermanfaat untuk Anda :)
|