Materi
Di JavaScript, fungsi bisa dikirim sebagai argumen ke fungsi lain — itulah yang terjadi pada map, filter, dan reduce. TypeScript menuliskan bentuk fungsi semacam itu dengan tipe yang menyerupai arrow function: daftar parameter di dalam kurung, tanda panah, lalu tipe nilai kembalinya.
function sapaSemua(nama: string[], ubah: (teks: string) => string): string[] {
return nama.map(ubah);
}
type Penyaring = (harga: number) => boolean;
function murah(harga: number): boolean {
return harga < 20000;
}
console.log(sapaSemua(["ani", "budi"], (t) => t.toUpperCase()));Nama parameter di dalam tipe fungsi wajib ditulis walau hanya menjadi keterangan. Menulis (string) => void berarti fungsi dengan satu parameter bernama string bertipe any, bukan fungsi yang menerima teks — salah tulis yang gampang terlewat. Tipe fungsi yang dipakai berulang diberi nama lewat type alias, seperti Penyaring di atas.
Fungsi yang dikirim boleh punya parameter lebih sedikit daripada yang dijanjikan tipenya, karena JavaScript mengizinkan argumen berlebih diabaikan. Yang ditolak adalah tipe parameter yang tidak cocok dan nilai kembali yang salah, misalnya fungsi bernilai kembali number dikirim ke tempat yang menuntut boolean.