⊗tsSpGnTV 30 of 37 menu

Tipinės kintamieji TypeScript'e

Kad geriau suprastume generikų koncepciją sukurkime mūsų pirmąją funkciją - tapatybės funkciją. Tokia funkcija grąžina tiksliai tai, kas jai buvo perduota - su tuoju pačiu tipu.

Pirmiausia parašykime mūsų funkcijos variantus atskirai.

Parašykime funkciją, kuri parametru priima skaičių ir grąžina skaičių:

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

Dabar parašykime funkciją, kuri parametru priima eilutę ir grąžina eilutę:

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

Tarkime dabar norime, kad tai viską darytų viena funkcija. Tai yra mes norime atlikti apibendrinimą.

Tam naudosime tipinį kintamąjį, kuris išsaugo duomenų tipą. Toks kintamasis deklaruojamas kampiniuose skliaustuose prieš apvaliuosius skliaustus su funkcijos parametrais. Deklaruokime tokį kintamąjį, suteikdami jam pavadinimą T (galima bet kokį):

function func <T>(čia parametrai) { return data; }

Po to pasirodys kintamasis T, kurį galima bus naudoti, kad į jį įdėtume parametro tipą, o tada nurodytume jį kaip grąžinamą reikšmę.

Nurodykime mūsų parametro tipą kaip mūsų kintamojo:

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

Taip bus, kad parametras gali būti perduotas bet kokiame tipė, ir šis tipas bus išsaugotas mūsų kintamajame T.

Dabar panaudokime kintamojo T reikšmę kaip funkcijos rezultato nurodymą:

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

Dabar bus, kad funkcijos rezultato tipas bus gaunamas iš parametro tipo. Patikrinkime.

Iškvieskime funkciją su skaičiumi:

console.log( func(3) ); // išves 3

Iškvieskime funkciją su eilute:

console.log( func('x') ); // išves 'x'

Sukurkite funkciją, kuri parametru priima arba du skaičius, arba dvi eilutes. Funkcija savo rezultatu turi grąžinti parametrų sumą.

Lietuvių
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Mes naudojame slapukus svetainės veikimui, analizei ir personalizavimui. Duomenų apdorojimas vyksta pagal Privatumo politiką.
priimti visus nustatyti atšaukti