Arrow Function
Tujuan Pembelajaran
Section titled “Tujuan Pembelajaran”Setelah halaman ini, kamu dapat menulis arrow function dan memilih kapan menggunakannya.
Pendahuluan
Section titled “Pendahuluan”Arrow function adalah cara menulis function yang lebih singkat. Ia menggunakan tanda panah => sebagai pengganti kata kunci function. Arrow function sangat populer dalam kode TypeScript modern.
Sintaks
Section titled “Sintaks”// Anonymous function biasaconst tambah = function(a: number, b: number): number { return a + b}
// Arrow function — lebih singkatconst tambah = (a: number, b: number): number => { return a + b}
// Arrow function — sangat singkat (implicit return)const tambah = (a: number, b: number): number => a + bJika blok function hanya berisi satu ekspresi return, bisa disingkat tanpa {} dan tanpa kata kunci return.
Analogi
Section titled “Analogi”Resep yang Disederhanakan
Section titled “Resep yang Disederhanakan”Function biasa seperti resep masakan lengkap dengan semua langkah tertulis. Arrow function seperti versi singkatnya yang tetap menghasilkan makanan yang sama tapi dituliskan lebih efisien.
Resep lengkap: Resep singkat:1. Ambil bahan Campur bahan → panggang 20 menit2. Campurkan3. Panggang 20 menitMari Mencoba
Section titled “Mari Mencoba”Buat src/bab4/arrow-function.ts:
// Bentuk penuhconst kuadratPenuh = (n: number): number => { return n * n}
// Bentuk singkat (implicit return)const kuadrat = (n: number): number => n * n
const sapa = (nama: string): string => `Halo, ${nama}!`
const lulus = (nilai: number): boolean => nilai >= 75
const hitungTotal = (angka: number[]): number => { let total = 0 for (const n of angka) total += n return total}
// Memanggil arrow function — sama seperti biasaconsole.log(kuadrat(5)) // 25console.log(kuadrat(9)) // 81console.log(sapa("Citra")) // Halo, Citra!console.log(lulus(80)) // trueconsole.log(lulus(60)) // falseconsole.log(hitungTotal([10, 20, 30])) // 60Jalankan:
tsx src/bab4/arrow-function.tsOutput
Section titled “Output”2581Halo, Citra!truefalse60Perbandingan Tiga Gaya
Section titled “Perbandingan Tiga Gaya”// Named functionfunction tambah1(a: number, b: number): number { return a + b}
// Anonymous functionconst tambah2 = function(a: number, b: number): number { return a + b}
// Arrow function (singkat)const tambah3 = (a: number, b: number): number => a + b
// Ketiga menghasilkan output yang samaconsole.log(tambah1(3, 4)) // 7console.log(tambah2(3, 4)) // 7console.log(tambah3(3, 4)) // 7Kapan Memakai Arrow Function?
Section titled “Kapan Memakai Arrow Function?”- Untuk function satu baris yang hasilnya langsung di-return.
- Sebagai callback (sangat umum).
- Untuk operasi sederhana yang tidak membutuhkan nama eksplisit.
Latihan
Section titled “Latihan”- Tulis ulang function
hitungKeliling(p, l)sebagai arrow function singkat. - Buat array nama siswa dan gunakan
.map()dengan arrow function untuk mengubah semua nama menjadi huruf besar.
Ringkasan
Section titled “Ringkasan”- Arrow function menggunakan
=>sebagai penggantifunction. - Jika hanya satu ekspresi return, bisa ditulis tanpa
{}danreturn. - Secara fungsi setara dengan anonymous function biasa.
- Sangat populer dalam kode TypeScript modern.