⊗tsSpGnPTL 36 of 37 menu

Користење на типови параметри во ограничувањата на генериците во TypeScript

Исто така во TypeScript постои можност за декларирање на еден тип параметар, кој ќе биде ограничен од друг тип параметар. Ова е неопходно кога треба да копираме својства од еден објект во друг, а во исто време да се осигураме дека нема да пренесеме вишок својства.

Ајде да го разгледаме следниот пример. Повторно се враќаме на функцијата myFunc, која ја одредува должината на променливата:

function myFunc <T> (data: T): T { console.log(data.length); // грешка return data; }

Сепак, сега сакаме оваа функција да работи само со оние типови кои имаат својство length. За да го направиме ова, да креираме интерфејс ILength, на кој ќе му доделиме својство length од нумерички тип:

interface ILength { length: number; }

Потоа, во нашата функција ќе поставиме генеричен тип, кој наследува од ILength преку клучен збор extends:

function myFunc <T extends ILength> (data: T): T { console.log(data.length); return data; }

Вака изгледа нашиот целосен код:

interface ILength { length: number; } function myFunc <T extends ILength> (data: T): T { console.log(data.length); return data; }

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

console.log(myFunc('abcde'));

Резултат од извршениот код:

5 'abcde'

А сега да пренесеме низа како параметар:

console.log(myFunc(['a', 'b', 'c']));

Резултат од извршениот код:

3 [ 'a', 'b', 'c' ]
Македонски
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
Ние користиме колачиња за работата на веб-страната, анализа и персонализација. Обработката на податоци се врши во согласност со Политиката за приватност.
прифати ги сите прилагоди одбиј