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 файлдарын қолданамыз. Деректерді өңдеу Құпиялылық саясаты бойынша жүреді.
барлығын қабылдау баптау қабылдамау