⊗tsSpGnIms 35 of 37 menu

Ограничења генерика у TypeScript-у

У једној од претходних лекција креирали смо функцију генеричког типа која је требало да прикаже дужину параметра прослеђеног у њу. Међутим, при компајлирању добили смо грешку, јер не сви типови могу имати дужину:

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

У том случају смо исправили ситуацију тако што смо променили генерички тип у тип генеричког низа. Али у TypeScript-у постоји могућност да се креирају ограничења генерика. За то у угаоним заградама, после променљиве T пишемо кључну реч extends. После ње у витичастим заградама уписујемо нову променљиву str типа стринг. Остатак кода функције остаје без промена:

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

Излази да генерички тип наслеђује тип променљиве str, назначене у витичастим заградама. Сада хајде да проверимо рад наше функције и креирајмо променљиву myStr, која се односи на тип str, и задајмо јој вредност у витичастим заградама:

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

Хајде да позовемо функцију myFunc, не заборавајући поново да назначимо њен тип и проследимо променљиву myStr као параметар:

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

На основу примера разматраног у лекцији, задајте функцију за проналажење дужине нумеричког низа.

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