⊗tsSpGnPTL 36 of 37 menu

Típusparaméterek használata generikusok megkötéseiben TypeScript-ben

A TypeScript-ben lehetőség van arra is, hogy egy típusparamétert egy másik típusparaméterrel kötünk meg. Ez akkor szükséges, amikor tulajdonságokat kell másolnunk egy objektumból egy másikba, miközben meg akarunk óvni attól, hogy felesleges tulajdonságokat adunk át.

Nézzük a következő példát. Térjünk vissza a myFunc függvényhez, amely meghatározza egy változó hosszát:

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

Most azonban azt szeretnénk, hogy ez a függvény csak azokkal a típusokkal működjön, amelyeknek van length tulajdonsága. Ehhez készítsünk egy ILength interfészt, és adjunk meg neki egy length numerikus típusú tulajdonságot:

interface ILength { length: number; }

Ezután a függvényünkben definiáljunk egy generikus típust, amely a ILength-ből öröklődik a extends kulcsszó segítségével:

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

Így néz ki a teljes kódunk:

interface ILength { length: number; } function myFunc <T extends ILength> (data: T): T { console.log(data.length); return data; }

Ellenőrizzük a függvényünk működését és keressük meg egy string hosszát:

console.log(myFunc('abcde'));

A kód végrehajtásának eredménye:

5 'abcde'

Most pedig adjunk át egy tömböt paraméterként:

console.log(myFunc(['a', 'b', 'c']));

A kód végrehajtásának eredménye:

3 [ 'a', 'b', 'c' ]
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