Fungsi: declaration, expression, arrow
Tiga cara mendefinisikan fungsi + parameter default + rest.
Pahami konsepnya
Tiga bentuk fungsi: function declaration (hoisted — bisa dipanggil sebelum dideklarasi), function expression (tidak hoisted), dan arrow function (ringkas, this dari scope luar). Bentuk declaration: function tambah(a, b) { return a + b; }. Arrow: const tambah = (a, b) => a + b.
Arrow function menghilangkan kata function dan return bila isinya satu ekspresi: n => n * 2. Tanpa kurung kurawal, hasil ekspresi otomatis dikembalikan. Dengan kurung kurawal, return wajib eksplisit: n => { return n * 2; }.
Parameter default: function sapa(nama = "Tamu") — nilai dipakai bila undefined. Rest parameter: function jumlah(...angka) mengumpulkan sisa argumen menjadi array. Keduanya bekerja di semua bentuk fungsi.
Coba contoh kode
// declaration — hoisted
function tambah(a, b) { return a + b; }
// arrow — satu ekspresi, return implisit
const kali = (a, b) => a * b;
// arrow dengan body
const gabung = (a, b) => {
const hasil = `${a} ${b}`;
return hasil;
};
// default + rest
const sapa = (nama = "Tamu") => `Halo ${nama}!`;
const rata = (...angka) => angka.reduce((a, b) => a + b, 0) / angka.length;
console.log(tambah(3, 5), kali(3, 5));
console.log(sapa(), sapa("Ari"));
console.log(rata(10, 20, 30));Arrow satu-ekspresi tanpa kurung kurawal otomatis return. rata memakai rest parameter (...angka) yang mengubah tiga argumen menjadi array untuk di-reduce.
Latihan singkat
Uji: arrow kuadrat(7) — harus `49`.