TypeScript-daky Jenerik tip üýtgeýänler
Jenerik tipiň funksiýasyny döredende, TypeScript bizi onuň bedenindäki tip üýtgeýänlerini dogry ulanmaga mejbur edýär. Şonuň üçin, funksiýa geçirilýän her bir parametriň hereketini, biz ýetip bilýän ähli tip tarapyndan göz öňünde tutmaly.
Geliň, jenerik tipindäki üýtgeýjäniň uzynlygyny kesgitlemek üçin funksiýa döreteliň:
function myFunc <T> (data: T): T {
console.log(data.length); // Ýalňyşlyk
return data;
}
Ýalňyşlyk, ähli tipleriň uzynlygy ýokdygy sebäpli dörýär. Mysal üçin, bulean bahalary üçin munuň ýerine ýetirmek mümkin däl. Ýöne biz tipi takyklaşdyryp, ony massiw hökmünde görkezsek, onda kod dogry işler. Her bir massiwiň, haýsy tipden bolmagyndan gaýtmazdan, uzynlygy bar:
function myFunc <T> (data: T[]): T[] {
console.log(data.length); // 3
return data;
}
console.log(myFunc([1, 3, 5])); // [ 1, 3, 5 ]
Jenerik tipindäki massiwdäki ähli elementleri gaýtalamak we konsola çap etmek üçin funksiýa ýazyň.