menu

TypeScript да функцияларнинг қайта юкланishi

Баъзан параметрларнинг турларига қараб турли турдаги қийматлар қайтарадиган функциялар учрайди. Бунинг учун TypeScript да функцияларни қайта юклаш ишлатилади. У функциянинг турли вариантлардаги имзоларини кўрсатиш имконини беради.

Келгила, мисолда кўрамиз. Фарз қилайлик, бизда сатрнинг белгиларини ҳарфлар массивига ажратадиган функция бор:

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

Шунингдек, бизда соннинг рақамларини массивига ажратадиган функция бор деб фарз қилайлик:

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

Келгила, иккала функцияни биттага бирлаштирамиз. Янги функция параметрнинг турига қараб йуқоридаги икки функциядан бирини ишга тушириши керак.

Функциямизнинг турли имзоларини эълон қилиш учун қайта юклашдан фойдаланамиз:

function splitVal(val: number): number[]; function splitVal(val: string): string[] { // иккала имзонинг амалга оширилиши }

Энди функцияни амалга ошириш ёзишимиз керак. Унинг кодида биз шарт билан аниқлашимиз керак, функциянинг қайси имзоси ишлашни бошлади, ва шуга қараб керакли кодни ишга тушириб, натижани керакли турда қайтарамиз:

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); } }

Бошқа тиллардан фарқли ўларок, TypeScript да қайта юклашда битта функция яратилади. Бир хил номдаги, лекин турли имзоли бир неча функция яратиб бўлмайди.

DOM элементнинг матнини қайтарадиган ёки ўзгартирадиган функция ёзинг. У quyidagicha ишлаши керак:

text('#elem', 'text'); // матнни ўрнатади text('#elem'); // жорий матнни қайтаради
Ўзбек
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeOʻzbekTiếng Việt
Биз веб-сайт ишлаши, таҳлил қилиш ва персоналлаштириш учун кукидан фойдаланамиз. Маълумотларни қайта ишлаш Махфийлик сиёсатига мувофиқ амалга оширилади.
ҳаммасини қабул қилиш мослаштириш рад этиш