Arrow Function
Arrow Function adalah cara modern untuk menulis fungsi di JavaScript yang diperkenalkan pada ECMAScript 6 (ES6). Sintaksnya lebih ringkas dibandingkan fungsi biasa dan menjadi gaya penulisan yang paling sering digunakan dalam React.
Apa Itu Arrow Function?
Arrow Function merupakan bentuk singkat dari fungsi anonim (anonymous function).
Sintaksnya menggunakan tanda panah (=>) sebagai pengganti kata kunci function.
Fungsi Biasa
const greet = function (userName) {
return "Hello " + userName;
};
Arrow Function
const greet = (userName) => {
return "Hello " + userName;
};
Kedua contoh di atas menghasilkan output yang sama, hanya berbeda pada cara penulisannya.
Sintaks Dasar Arrow Function
Bentuk umum Arrow Function adalah sebagai berikut.
const namaFungsi = (parameter) => {
// kode
};
Contoh:
const add = (a, b) => {
return a + b;
};
console.log(add(5, 3));
Output:
8
Penulisan Singkat (Implicit Return)
Jika fungsi hanya memiliki satu baris yang mengembalikan nilai, kita dapat menghilangkan:
- Kurung kurawal
{ } - Kata kunci
return
Contoh:
const greet = (userName) => {
return "Hello " + userName;
};
Dapat ditulis menjadi:
const greet = (userName) => "Hello " + userName;
Output:
Hello John
Cara ini disebut Implicit Return, karena nilai langsung dikembalikan tanpa menuliskan return.
Arrow Function dengan Satu Parameter
Jika hanya memiliki satu parameter, tanda kurung () dapat dihilangkan.
Contoh:
const greet = userName => "Hello " + userName;
Namun jika memiliki dua atau lebih parameter, tanda kurung tetap harus digunakan.
const add = (a, b) => a + b;
Arrow Function Tanpa Parameter
Jika fungsi tidak memiliki parameter, gunakan tanda kurung kosong ().
Contoh:
const sayHi = () => "Hello World";
console.log(sayHi());
Output:
Hello World
Contoh Perbandingan
Fungsi Biasa
function multiply(a, b) {
return a * b;
}
Arrow Function
const multiply = (a, b) => {
return a * b;
};
Arrow Function Singkat
const multiply = (a, b) => a * b;
Ketiga contoh di atas menghasilkan output yang sama.
Penggunaan Arrow Function di React
Arrow Function sangat sering digunakan dalam pengembangan aplikasi React.
Event Handler
<button onClick={() => alert("Button diklik")}>
Klik Saya
</button>
Pada contoh di atas, Arrow Function digunakan untuk menangani event onClick.
Array Method
Arrow Function juga sering digunakan bersama metode array seperti map(), filter(), dan reduce().
Contoh:
const numbers = [1, 2, 3, 4];
const result = numbers.map(number => number * 2);
console.log(result);
Output:
[2, 4, 6, 8]
Karena sintaksnya singkat, Arrow Function membuat kode lebih mudah dibaca, terutama saat bekerja dengan array.
Kapan Menggunakan Arrow Function?
Arrow Function sangat cocok digunakan untuk:
- Callback function.
- Event handler.
- Array method seperti
map(),filter(),find(), danreduce(). - Komponen React modern.
Untuk fungsi yang sederhana dan singkat, Arrow Function biasanya lebih disukai dibandingkan fungsi biasa.
Ringkasan
| Fungsi Biasa | Arrow Function |
|---|---|
Menggunakan keyword function | Menggunakan tanda => |
| Sintaks lebih panjang | Sintaks lebih ringkas |
Selalu menggunakan return jika mengembalikan nilai | Dapat menggunakan implicit return |
| Umum digunakan pada JavaScript klasik | Sangat umum digunakan pada React dan JavaScript modern |
Variasi Sintaks Arrow Function
Arrow Function memiliki beberapa syntax shortcuts yang memungkinkan kita menulis fungsi dengan kode yang lebih ringkas.
Namun, setiap shortcut memiliki aturan tertentu yang perlu dipahami agar tidak menghasilkan syntax error.
1. Menghilangkan Kurung Parameter ()
Jika Arrow Function hanya memiliki satu parameter, tanda kurung () dapat dihilangkan.
Sintaks Standar
(userName) => {
console.log(userName);
};
Sintaks Ringkas
userName => {
console.log(userName);
};
Kedua sintaks tersebut memiliki fungsi yang sama.
Aturan Penggunaan ()
Tanpa Parameter
Jika tidak memiliki parameter, tanda kurung wajib digunakan.
() => {
console.log("Hello World");
};
❌ Tidak valid:
=> {
console.log("Hello World");
};
Satu Parameter
Jika hanya memiliki satu parameter, tanda kurung dapat dihilangkan.
userName => {
console.log(userName);
};
Lebih dari Satu Parameter
Jika memiliki dua atau lebih parameter, tanda kurung wajib digunakan.
(userName, userAge) => {
console.log(userName, userAge);
};
❌ Tidak valid:
userName, userAge => {
console.log(userName, userAge);
};
2. Menghilangkan {} dan return
Jika Arrow Function hanya memiliki satu expression yang langsung mengembalikan nilai, kita dapat menghilangkan kurung kurawal {} dan keyword return.
Teknik ini disebut Implicit Return.
Sintaks Standar
number => {
return number * 3;
};