TypeScript-тегі типтік айнымалылар
Дженериктер тұжырымдамасын жақсы түсіну үшін біздің бірінші функциямызды - сәйкестік функциясын жасайық. Мұндай функция өзіне берілген нәрсені дәл сол типте қайтарады.
Алдымен біздің функциямыздың нұсқаларын бөлек жазайық.
Параметр ретінде санды қабылдайтын және санды қайтаратын функцияны жазайық:
function func(data: number): number {
return data;
}
Енді параметр ретінде жолды қабылдайтын және жолды қайтаратын функцияны жазайық:
function func(data: string): string {
return data;
}
Енді біз мұның бәрін бір функцияның істеуін қалаймыз. Яғни біз жалпылама орындауды қалаймыз.
Ол үшін біз типтік айнымалыны қолданамыз,
ол деректер түрін өзінде сақтайды. Мұндай айнымалы
функция параметрлерінің дөңгелек жақшаларының алдындағы
бұрышты жақшаларда жарияланады. Оған T есімін беріп
(кез келген болуы мүмкін), осындай айнымалыны жариялайық:
function func <T>(мұнда параметрлер) {
return data;
}
Осыдан кейін бізде T айнымалысы пайда болады,
ол параметр түрін салу үшін қолданылуы мүмкін, содан кейін
оны қайтарылатын мән ретінде көрсету үшін қолдануға болады.
Параметріміздің түрін біздің айнымалымыз түрінде көрсетейік:
function func <T>(data: T) {
return data;
}
Параметрдің кез келген түрде берілуі мүмкін болады,
және бұл түр біздің T айнымалымызда сақталады.
Енді T айнымалысының мәнін функция нәтижесін
көрсету үшін қолданайық:
function func <T>(data: T): T {
return data;
}
Енді функция нәтижесінің түрі параметр түрінен алынатын болады. Тексерейік.
Функцияны санмен шақырайық:
console.log( func(3) ); // шығарады 3
Функцияны жолмен шақырайық:
console.log( func('x') ); // шығарады 'x'
Параметр ретінде екі санды немесе екі жолды қабылдайтын функция жасаңыз. Функция өз нәтижесі ретінде параметрлердің қосындысын қайтаруы керек.