Variabel Tipe Umum di TypeScript

Untuk pemahaman yang lebih baik tentang konsep generic mari kita buat fungsi pertama kita - fungsi-identitas. Fungsi seperti itu mengembalikan persis apa yang diberikan kepadanya - dengan tipe yang sama.

Mari kita tulis dulu varian dari fungsi kita secara terpisah.

Mari tulis fungsi yang menerima parameter angka dan mengembalikan angka:

typescriptfunction func(data: number): number {
  return data;
}

Sekarang mari tulis fungsi yang menerima parameter string dan mengembalikan string:

typescriptfunction func(data: string): string {
  return data;
}

Sekarang misalkan kita ingin membuat semua ini dilakukan oleh satu fungsi. Artinya kita ingin melakukan generalisasi.

Untuk ini kita menggunakan variabel tipe umum, yang menyimpan tipe data. Variabel seperti itu dideklarasikan dalam tanda kurung siku sebelum tanda kurung dengan parameter fungsi. Mari kita deklarasikan variabel seperti itu, beri nama T (bisa apa saja):

typescriptfunction func <T>(disini parameter) {
  return data;
}

Setelah itu, kita akan memiliki variabel T, yang dapat digunakan untuk menyimpan tipe parameter, lalu menentukannya sebagai tipe nilai yang dikembalikan.

Mari tentukan tipe parameter kita dalam bentuk variabel kita:

typescriptfunction func <T>(data: T) {
  return data;
}

Hasilnya, parameter dapat diteruskan dalam tipe apa pun, dan tipe ini akan disimpan dalam variabel kita T.

Sekarang gunakan nilai variabel T sebagai penunjuk hasil fungsi:

typescriptfunction func <T>(data: T): T {
  return data;
}

Sekarang hasilnya, tipe hasil fungsi akan didapat dari tipe parameter. Mari kita uji.

Panggil fungsi dengan angka:

typescriptconsole.log( func(3) );   // menampilkan 3

Panggil fungsi dengan string:

typescriptconsole.log( func('x') ); // menampilkan 'x'
Задание 1

Buatlah fungsi yang parameternya menerima dua angka, atau dua string. Hasilnya, fungsi harus mengembalikan jumlah parameter.