Pengenalan Tipe Fungsi TypeScript
TypeScript memerlukan tipe untuk segalanya. Ini termasuk fungsi Anda. Anda harus menentukan tipe untuk input dan output.
Sintaks Fungsi
Anda menentukan tipe input dan tipe output seperti ini:
function add(x: number, y: number): number {
return x + y;
}
TypeScript juga menggunakan inferensi tipe. Anda tidak selalu perlu menuliskan tipe output. Kompiler akan menemukannya untuk Anda.
Jika fungsi Anda mengembalikan tipe yang berbeda, TypeScript akan menanganinya. Sebagai contoh, jika sebuah fungsi mengembalikan angka atau string, kompiler akan mendeteksi keduanya.
Tipe Pengembalian Khusus
- void: Gunakan ini saat sebuah fungsi tidak mengembalikan apa pun.
- never: Gunakan ini saat sebuah fungsi melempar error atau menghentikan program.
Parameter
Anda dapat membuat parameter menjadi opsional menggunakan tanda tanya.
function makeProfile(name: string, age: number, url?: string) {
// code
}
Anda juga dapat menggunakan nilai default. Hal ini membuat parameter menjadi opsional tanpa simbol khusus.
function makeProfile(name: string, age: number, url: string = "www.example.com") {
return name + " visits " + url;
}
Fungsi Callback
Fungsi adalah sebuah nilai. Anda dapat mengirimkannya sebagai argumen. Untuk menentukan tipe 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 tidaklah penting. Yang penting hanyalah tipenya.
Array dari Fungsi
Jika Anda membutuhkan daftar fungsi, definisikan mereka sebagai sebuah array dari tipe fungsi tersebut.
function applyMath(funcs: ((a: number, b: number) => number)[], x: number, y: number) {
// code
}
Rest Parameters
Gunakan operator spread untuk menerima argumen dalam jumlah berapa pun. Ini akan menyimpan semua input ke dalam sebuah array.
function sum(...numbers: number[]) {
// code
}
sum(1, 2, 3);
Sumber: https://dev.to/jsha/introduction-to-typescript-function-types-hin