⊗tsSpGnTV 30 of 37 menu

Генерички променливи во TypeScript

За подобро разбирање на концептот на генерици ајде да ја создадеме нашата прва функција - функција-идентитет. Таквата функција ја враќа точно она што и било пренесено - со истиот тип.

Ајде прво да ги напишеме вариантите на нашата функција посебно.

Да напишеме функција која како параметар прима број и враќа број:

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

Сега да напишеме функција која како параметар прима стринг и враќа стринг:

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

Сега да речеме дека сакаме сето ова да го направи една функција. Односно, ние сакаме да извршиме генерализација.

За ова користиме генеричка променлива, која го зачувува типот на податоци. Таквата променлива се декларира во аглести загради пред тркалезните загради со параметрите на функцијата. Ајде да ја декларираме таквата променлива, давајќи и име T (може било кое):

function func <T>(тут параметри) { return data; }

После ова ќе имаме променлива T, која може да се користи за да се смести во неа типот на параметарот, а потоа да се наведе како тип на вратената вредност.

Да го наведеме типот на нашиот параметар како нашата променлива:

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

Ќе испадне дека параметарот може да се пренесе во кој било тип, и тој тип ќе се зачува во нашата променлива T.

Сега да ја користиме вредноста на променливата T како наведување на резултатот од функцијата:

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

Сега ќе испадне дека типот на резултатот од функцијата ќе се добие од типот на параметарот. Ајде да провериме.

Да ја повикаме функцијата со број:

console.log( func(3) ); // ќе испечати 3

Да ја повикаме функцијата со стринг:

console.log( func('x') ); // ќе испечати 'x'

Направете функција која како параметар прима или два броја, или два стринга. Како резултат функцијата треба да враќа збир на параметрите.

Македонски
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Ние користиме колачиња за работата на веб-страната, анализа и персонализација. Обработката на податоци се врши во согласност со Политиката за приватност.
прифати ги сите прилагоди одбиј