⊗tsSpGnIms 35 of 37 menu

A generikusok korlátozásai TypeScript-ben

Az egyik előző leckében létrehoztunk egy általános típusú függvényt, amelynek ki kellett volna írnia a paraméterként átadott érték hosszát. Azonban a fordítás során hibát kaptunk, mivel nem minden típusnak lehet hossza:

function myFunc < T > (data: T): T { console.log(data.length); // hiba return data; }

Akkor a helyzetet úgy javítottuk ki, hogy az általános típust egy általános tömb típusára cseréltük. De a TypeScript-ben lehetőség van a generikusok korlátozására. Ehhez a szögletes zárójelekben, a T változó után írjuk a extends kulcsszót. Utána kapcsos zárójelekben írjuk fel az új str változót string típussal. A függvény többi kódja változatlan marad:

function myFunc <T extends {str: string}> (data: T): void { console.log(data.str.length); }

Kiderül, hogy az általános típust örökli a str változó típusa, amely a kapcsos zárójelben van megadva. Most ellenőrizzük a függvényünk működését és hozzunk létre egy myStr változót, amely a str típusra hivatkozik, és adjunk neki értéket kapcsos zárójelekben:

let myStr: {str: string} = {str: 'abcde'};

Hívjuk meg a myFunc függvényt, ne felejtsük el ismét megadni a típusát, és adjuk át a myStr változót paraméterként:

myFunc <{str: string}> (myStr);

A leckében tárgyalt példa alapján írj egy függvényt egy numerikus tömb hosszának megtalálására.

Magyar
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
A weboldal működéséhez, elemzéshez és személyre szabáshoz sütiket használunk. Az adatfeldolgozás a Adatvédelmi irányelvek szerint történik.
összes elfogadása beállítás elutasítás