⊗tsSpGnTV 30 of 37 menu

TypeScriptda Tip O'zgaruvchilari

Generiklar tushunchasini yaxshiroq tushunish uchun keling birinchi funktsiyamizni yarataylik - identifikatsiya funktsiyasi. Bunday funktsiya unga uzatilgan narsani aniq qaytaradi - xuddi shu tip bilan.

Keling, avvalo funktsiyamizning variantlarini alohida yozib chiqaylik.

Parametr sifatida raqam qabul qiladigan va raqam qaytaradigan funktsiyani yozamiz:

function func(data: number): number { return data; }

Endi parametr sifatida satr qabul qiladigan va satr qaytaradigan funktsiyani yozamiz:

function func(data: string): string { return data; }

Endi bularning barchasini bitta funktsiya bajarishini xohlaymiz deb faraz qilaylik. Ya'ni biz umumlashtirishni amalga oshirmoqchimiz.

Buning uchun biz ma'lumotlar tipini saqlaydigan tip o'zgaruvchisidan foydalanamiz. Bunday o'zgaruvchi funktsiya parametrlari bilan qavslar oldidan burchakli qavslar ichida e'lon qilinadi. Keling bunday o'zgaruvchini T nomi bilan e'lon qilaylik (har qanday nom mumkin):

function func <T>(bu yerda parametrlar) { return data; }

Shundan so'ng, bizda T o'zgaruvchisi paydo bo'ladi, unga parametr tipini joylashtirish va keyin uni qaytariladigan qiymat sifatida ko'rsatish uchun foydalanish mumkin.

Parametrimizga tipni o'zgaruvchimiz ko'rinishida ko'rsatamiz:

function func <T>(data: T) { return data; }

Ma'lum bo'ladiki, parametr har qanday tipda uzatilishi mumkin, va bu tip T o'zgaruvchimizga saqlanadi.

Endi T o'zgaruvchisi qiymatidan funktsiya natijasini ko'rsatish uchun foydalanamiz:

function func <T>(data: T): T { return data; }

Endi funktsiya natijasining tipi parametr tipidan olinadigan bo'ladi. Keling tekshiramiz.

Funktsiyani raqam bilan chaqiramiz:

console.log( func(3) ); // 3 ni chiqaradi

Funktsiyani satr bilan chaqiramiz:

console.log( func('x') ); // 'x' ni chiqaradi

Parametr sifatida ikkita raqam yoki ikkita satr qabul qiladigan funktsiya yarating. Funktsiya o'z natijasi sifatida parametrlar yig'indisini qaytarishi kerak.

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