menu

TypeScript-da funksiyalarni qayta yuklash

Ba'zan, berilgan parametrlar turiga qarab qaytariladigan qiymat turi farq qiladigan funksiyalar uchraydi. Buning uchun TypeScript-da funksiyalarni qayta yuklash qo'llaniladi. Bu funksiyaning turli imzolar variantlarini ko'rsatish imkonini beradi.

Keling, bir misolni ko'rib chiqaylik. Faraz qilaylik, bizda qator belgilarini harflar massiviga ajratadigan funksiya mavjud:

function splitStr(str: string): string[] { return str.split(''); }

Shuningdek, faraz qilaylik, bizda raqam belgilarini raqamlar massiviga ajratadigan funksiya mavjud:

function splitNum(num: number): number[] { let str: string = String(num); let arr: string[] = str.split(''); return arr.map(elem => +elem); }

Keling, ikkala funksiyani bittada birlashtiramiz. Yangi funksiya parametr turiga qarab raqamlar massivi yoki qatorlar massivini qaytarishi kerak.

Funksiyamizning turli imzolarini e'lon qilish uchun qayta yuklashdan foydalanamiz:

function splitVal(val: number): number[]; function splitVal(val: string): string[] { // ikkala imzoning amalga oshirilishi }

Endi funksiyani amalga oshirishni yozamiz. Uning kodida biz shart bilan aniqlashimiz kerak, qaysi funksiya imzolari ishlaganligini va shunga qarab kerakli natija turi bilan kerakli kodni ishga tushirishimiz kerak:

function splitVal(val: number): number[]; function splitVal(val: string): string[] { if (typeof val === 'string') { return val.split(''); } else { let str: string = String(val); let arr: string[] = str.split(''); return arr.map((elem: string): number => +elem); } }

Boshqa tillardan farqli o'laroq, TypeScript-da qayta yuklash bitta funksiya yaratadi. Bir xil nomli, lekin turli imzoli bir nechta funksiyalarni yaratish mumkin emas.

DOM elementining matnini qaytaradigan yoki o'zgartiradigan funksiya yozing. U quyidagicha ishlashi kerak:

text('#elem', 'text'); // matnni o'rnatadi text('#elem'); // joriy matnni qaytaradi
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