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