TypeScript 的泛型
使返回值的类型与传入参数的类型是相同的:让类型推论自动推算出来
function identity<T>(arg: T): T {
return arg
}
传入类型变量代表的是任意类型,所以使用这个函数的人可能传入的是个数字,而数字是没有 .length 属性的。
function identity<T>(arg: T): T {
console.log(arg.length) // Error: T doesn't have .length
return arg
}
解决方法:
function identity<T>(arg: T[]): T[] {
console.log(arg.length) //正确
return arg
}