← Kembali ke kursus
Pelajaran kursus · JavaScript
Pelajaran 09

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`.