Pembolehubah Jenis Generik dalam TypeScript
Apabila kita mencipta fungsi jenis generik, TypeScript memaksa kita untuk menggunakan pembolehubah jenis dengan betul dalam badannya. Oleh itu, kita perlu mempertimbangkan tingkah laku setiap parameter yang dihantar ke fungsi dari segi semua jenis yang tersedia untuk kita.
Mari kita buat fungsi untuk menentukan panjang pembolehubah jenis generik:
function myFunc <T> (data: T): T {
console.log(data.length); // ralat
return data;
}
Ralat berlaku kerana tidak semua jenis mempunyai panjang. Sebagai contoh, untuk nilai boolean tindakan sedemikian adalah mustahil. Walau bagaimanapun, jika kita memperincikan jenis dan menyatakannya sebagai tatasusunan, kod akan berfungsi dengan betul. Ini kerana setiap tatasusunan, tidak kira apa jenisnya, mempunyai panjang:
function myFunc <T> (data: T[]): T[] {
console.log(data.length); // 3
return data;
}
console.log(myFunc([1, 3, 5])); // [ 1, 3, 5 ]
Tulis fungsi untuk mengulang dan memaparkan semua elemen tatasusunan jenis generik dalam konsol.