⊗tsSpGnIms 35 of 37 menu

TypeScript vispārinājumu ierobežojumi

Vienā no iepriekšējām nodarbībām mēs izveidojām vispārināta tipa funkciju, kurai vajadzēja izvadīt tai nodotā parametra gārumu. Tomēr kompilācijas laikā mums tika parādīta kļūda, jo ne visiem tipiem var būt garums:

function myFunc < T > (data: T): T { console.log(data.length); // kļūda return data; }

Tajā gadījumā mēs izlabojām situāciju, mainot vispārināto tipu uz vispārināta masīva tipu. Bet TypeScript ir iespēja izveidot vispārinājumu ierobežojumus. Lai to izdarītu, leņķa iekavās, aiz mainīgā T rakstām atslēgvārdu extends. Pēc tā figūriekavās ierakstām jaunu mainīgo str virknes tipā. Pārējais funkcijas kods paliks nemainīgs:

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

Izrādās, ka vispārinātais tips manto mainīgā str tipu, kas norādīts figūriekavās. Tagad pārbaudīsim mūsu funkcijas darbību un izveidosim mainīgo myStr, kas atsaucas uz tipu str, un iestatīsim tai vērtību figūriekavās:

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

Izsauksim funkciju myFunc, ne aizmirstot vēlreiz norādīt tās tipu, un nodosim mainīgo myStr kā parametru:

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

Pamatojoties uz nodarbībā apskatīto piemēru, izveidojiet funkciju skaitliskā masīva garuma noteikšanai.

Latviešu
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Mēs izmantojam sīkdatnes, lai nodrošinātu vietnes darbību, analīti un personalizāciju. Datu apstrāde notiek saskaņā ar Konfidencialitātes politiku.
pieņemt visus iestatīt noraidīt