⊗tsSpGnPTL 36 of 37 menu

TypeScriptda generiklar cheklovlarida tip parametrlaridan foydalanish

Shuningdek, TypeScriptda boshqa tip parametri bilan cheklangan tip parametrini e'lon qilish imkoniyati mavjud. Bu, bir ob'ektning xususiyatlarini boshqa ob'ektga nusxalash kerak bo'lganda zarur, shu bilan birga ortiqcha xususiyat uzatilishidan himoya qilinadi.

Keling, quyidagi misolni ko'rib chiqaylik. Yana o'zgaruvchi uzunligini aniqlovchi myFunc funksiyasiga qaytaylik:

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

Biroq, endi biz bu funksiya faqat length xususiyatiga ega bo'lgan turlar bilan ishlashini xohlaymiz. Buning uchun ILength interfeysini yaratamiz va unga length raqamli tipidagi xususiyatini belgilaymiz:

interface ILength { length: number; }

Keyin, bizning funksiyamizda extends kalit so'zi orqali ILength dan meros oladigan umumiy tipni belgilaymiz:

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

Bizning to'liq kodimiz shunday ko'rinadi:

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

Keling, funksiyamizning ishlashini tekshiramiz va qator uzunligini topamiz:

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

Bajarilgan kod natijasi:

5 'abcde'

Endi parametrga massiv uzatamiz:

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

Bajarilgan kod natijasi:

3 [ 'a', 'b', 'c' ]
Oʻzbek
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекTiếng Việt
Biz sayt ishlashi, tahlil qilish va shaxsiylashtirish uchun cookie-fayllardan foydalanamiz. Ma'lumotlarni qayta ishlash Maxfiylik siyosatiga muvofiq amalga oshiriladi.
hammasini qabul qilish sozlash rad etish