menu

TypeScript'те функцияларды толуктоо

Кээде параметрлердин түрүнө жараша ар кандай маанилерди кайтарып берүүчү функциялар кездешет. Бул үчүн 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 элементинин текстин кайтарып берүүчү же өзгөртүүчү функция жазыңыз. Ал төмөнкүдөй иштеши керек:

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çeЎзбекOʻzbekTiếng Việt
Биз сайттин иштөөсү, аналитика жана персонализация үчүн cookie файлдарын колдонобуз. Маалыматтарды иштетүү Маалыматты коргоо саясаты боюнча жүргүзүлөт.
баарын кабыл алуу ыңгайлаштыруу четке кагуу