⊗tsSpGnTV 30 of 37 menu

Típusváltozók a TypeScript-ben

A generikusok koncepciójának jobb megértése érdekében hozzuk létre az első függvényünket - identitásfüggvényt. Egy ilyen függvény pontosan azt adja vissza, amit átadtak neki - ugyanazzal a típussal.

Először írjuk meg a függvényünk változatait külön-külön.

Írjunk egy függvényt, amely paraméterként egy számot vesz fel, és visszaad egy számot:

function func(data: number): number { return data; }

Most írjunk egy függvényt, amely paraméterként egy sztringet vesz fel, és visszaad egy sztringet:

function func(data: string): string { return data; }

Tegyük fel, hogy most azt szeretnénk, hogy mindezeket egyetlen függvény végezze. Vagyis általánosítást szeretnénk végrehajtani.

Ehhez típusváltozót használunk, amely eltárolja az adatok típusát. Egy ilyen változó a függvény paramétereit tartalmazó zárójelek előtt, szögletes zárójelek között kerül deklarálásra. Deklaráljunk egy ilyen változót, adva neki a T nevet (bármilyen nevet adhatunk):

function func <T>(itt a paraméterek) { return data; }

Ezután megjelenik a T változónk, amelyet felhasználhatunk arra, hogy bele tegyük a paraméter típusát, majd ezt megadhassuk a visszatérési érték típusaként.

Adjuk meg a paraméterünk típusát a mi változónk segítségével:

function func <T>(data: T) { return data; }

Így az lesz, hogy a paraméter bármilyen típusban átadható, és ez a típus a mi T változónkban tárolódik el.

Most használjuk a T változó értékét a függvény visszatérési értékének megadásához:

function func <T>(data: T): T { return data; }

Most már az lesz, hogy a függvény visszatérési értékének típusa a paraméter típusából fog származni. Ellenőrizzük le.

Hívjuk meg a függvényt egy számmal:

console.log( func(3) ); // kiírja 3-at

Hívjuk meg a függvényt egy sztringgel:

console.log( func('x') ); // kiírja 'x'-et

Készítsen egy függvényt, amely paraméterként vagy két számot, vagy két sztringet fogad el. A függvény eredményeképpen a paraméterek összegét kell visszaadnia.

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