const arrayOfNumbers: Array<number> = [1, 1, 2, 3, 5]
const arrayOfString: Array<string> = ['Hello', 'Labas']
//tipai nusistatys pagal turinį
function reverse<T>(array: T[]): T[] {
return array.reverse()
}
reverse(arrayOfNumbers)
reverse(arrayOfString)
reverse<number>('string') -> bus klaida nes tipai skirtingi
leidzia nauoti funcijas arba objektus skirtingiems duomenu tipams
interface MyInterface {
transform: <T, F> (a: T) => F
}
keli kintamieji keliu tipų
class Menu<T> {
value: T
}
const a = new Menu<number>()
a.value -> tik number
interface TimeStamp {
stamp: number
}
fucntion logTimeStamp<T extends TimeStamp>(num: T): T{
console.log(num.stamp)
return num
}