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:
function func(data: number): number {
return data;
}
Sekarang mari tulis fungsi yang menerima parameter string dan mengembalikan string:
function 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):
function 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:
function 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:
function func <T>(data: T): T {
return data;
}
Sekarang hasilnya, tipe hasil fungsi akan didapat dari tipe parameter. Mari kita uji.
Panggil fungsi dengan angka:
console.log( func(3) ); // menampilkan 3
Panggil fungsi dengan string:
console.log( func('x') ); // menampilkan 'x'
Buatlah fungsi yang parameternya menerima dua angka, atau dua string. Hasilnya, fungsi harus mengembalikan jumlah parameter.