Pengenalan kepada Jenis Fungsi TypeScript
TypeScript memerlukan jenis (types) untuk segalanya. Ini termasuklah fungsi anda. Anda mesti mentakrifkan jenis untuk input dan output.
Sintaks Fungsi
Anda mentakrifkan jenis input dan jenis output seperti ini:
function add(x: number, y: number): number {
return x + y;
}
TypeScript juga menggunakan inferens jenis (type inference). Anda tidak sentiasa perlu menulis jenis output. Kompilator akan mencarinya untuk anda.
Jika fungsi anda memulangkan jenis yang berbeza, TypeScript akan mengendalikannya. Sebagai contoh, jika sesuatu fungsi memulangkan nombor atau string, kompilator akan mengesan kedua-duanya.
Jenis Pulangan Khas
- void: Gunakan ini apabila fungsi tidak memulangkan apa-apa.
- never: Gunakan ini apabila fungsi mencetuskan ralat atau menghentikan program.
Parameter
Anda boleh menjadikan parameter sebagai pilihan (optional) menggunakan tanda soal.
function makeProfile(name: string, age: number, url?: string) {
// code
}
Anda juga boleh menggunakan nilai lalai (default values). Ini menjadikan parameter sebagai pilihan tanpa simbol khas.
function makeProfile(name: string, age: number, url: string = "www.example.com") {
return name + " visits " + url;
}
Fungsi Callback
Fungsi adalah nilai. Anda boleh menghantarnya sebagai argumen. Untuk mentakrifkan jenis callback, gunakan sintaks ini:
function makePage(func: (n: string, a: number, u?: string) => string, param1: string, param2: number) {
func(param1, param2);
}
Nama parameter dalam callback tidak penting. Hanya jenis (types) sahaja yang penting.
Array Fungsi
Jika anda memerlukan senarai fungsi, takrifkan ia sebagai array bagi jenis fungsi tersebut.
function applyMath(funcs: ((a: number, b: number) => number)[], x: number, y: number) {
// code
}
Parameter Rest
Gunakan operator spread untuk menerima sebarang jumlah argumen. Ini menyimpan semua input dalam satu array.
function sum(...numbers: number[]) {
// code
}
sum(1, 2, 3);
Sumber: https://dev.to/jsha/introduction-to-typescript-function-types-hin