⊗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ščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
ვებსაიტის მუშაობის, ანალიტიკისა და პერსონალიზაციისთვის ვიყენებთ ქუქი-ფაილებს. მონაცემთა დამუშავება ხდება Კონფიდენციალურობის პოლიტიკის შესაბამისად.
ყველას მიღება პარამეტრები უარყოფა