⊗tsSpGnTV 30 of 37 menu

TypeScript-da görnüş üýtgeýänler

Generiklaryň düşünjesini gowy düşünmek üçin öz ilkinji funksiýamyzy - şahsyýet funksiýasy döredeli. Şeýle funksiýa özüne berlen zatlary takyk şol görnüşde yzyna gaýtarýar.

Başlangyçda funksiýamyzyň wariantlaryny aýry-ayrylykda ýazalyň.

Parametr hökmünde san alyp, sany yzyna gaýtaryan funksiýa ýazalyň:

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

Indi bolsa parametr hökmünde setir alyp, setiri yzyna gaýtaryan funksiýa ýazalyň:

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

Indi bolsa munyň hemmesini bir funksiýa ýerine ýetirmek isleýäris. Ýagny biz umumylaşdyrmak amala aşyrmak isleýäris.

Bun üçin biz görnüş üýtgeýjisi ulanarys, bu maglumat görnüşini özünde saklaýar. Şeýle üýtgeýji funksiýanyň parametrli ýaýly möýjerlerinden öň burçly möýjerlerde bellenilýär. Bu üýtgeýjini T (islenilen) at bilen bellenilýär:

function func <T>(bu ýerde parametrler) { return data; }

Şondan soň bizde T üýtgeýjisi peýda bolýar, ony parametriň görnüşini goýmak üçin ulanyp bilersiňiz, soň bolsa ony yzyna gaýtarylýan baha hökmünde görkezip bilersiňiz.

Parametrimize görnüşi hökmünde öz üýtgeýjimizi görkezeliň:

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

Netijede parametr islendik görnüşde berlip biliner, we bu görnüş bizim T üýtgeýjimize saklanar.

Indi T üýtgeýjisiniň bahasyny funksiýanyň netijesini görkezmek üçin ulanyň:

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

Indi funksiýanyň netije görnüşi parametriň görnüşinden alynar. Geliň barlap göreliň.

Funksiýany san bilen çagyralyň:

console.log( func(3) ); // 3-ü çykarar

Funksiýany setir bilen çagyralyň:

console.log( func('x') ); // 'x'-i çykarar

Parametr hökmünde ýa iki sany, ýa-da iki setir alýan funksiýa düzüň. Funksiýa öz netijesi hökmünde parametrleriň jemini yzyna gaýtarmaly.

Türkmen
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkçeЎзбекOʻzbekTiếng Việt
Biz sahypanyň işlemegi, analitika we şahsyýetleşdirmek üçin cookie ulanýarys. Maglumatlaryň işlenişi Gizlinlik syýasaty boýunça amala aşyrylýar.
hemmesini kabul et sazlamak ret et