使用 TS 出现这个问题时,编译器提示错误,代表我们正在使用它的.length,但我们未提供.length这个数据类型。
// error
function collectionProps<T>(arg: T): T {
console.log(arg.length); // Error: T doesn't have .length
return arg;
}
// success 1
function collectionProps<T>(arg: T[]): T[] {
console.log(arg.length);
return arg;
}
// success 2
function collectionProps<T>(arg: Array<T>): Array<T> {
console.log(arg.length);
return arg;
}
网友评论