⊗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 ўзгарувчисининг туридан мерос олади. Энди бизнинг функсиямизнинг ишлашини текшириб кўрамиз ва str турига ишора қилувчи myStr ўзгарувчисини яратиб, унга жиңғоқ қавслар ичида қиймат берамиз:

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

Келинг, myFunc функсиясини чақириб, унing турini янада кўрсатиб ўтирмаймиз ва myStr ўзгарувчисини параметр сифатида узатамиз:

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

Дарсда кўриб чиқилган мисол асосида, сонли массивнинг узунлигини топиш учун функсия беринг.

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