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.