TypeScriptも静的型付け言語なのでgenericsが使えます。
以下はかんたんなサンプルコードですが、配列呼び出しにnumber[]とstring[]のケースです。
// generics
function comp<T>(arg: T[], comp: T): T[]{
let ret: T[] = []
for (let i = 0; i < arg.length; i++){
if (arg[i] === comp){
ret.push(arg[i])
}
}
return ret
}
console.log(comp([3, 2, 8, 10], 3))
console.log(comp(['3', '2', '8', '10'], '3'))
結果は想定通りに、
[ 3 ]
[ '3' ]
genericsはpolymorphism実現のための一つの手法なので、他にも実現手段はあります。
admin