const func5: <T>(a: T, b: T) => T = (a, b) => {
const res = a + b;
// console.log(a, b);
return a;
};
ts报了 运算符“+”不能应用于类型“T”和“T” 的错误
const func5: <T>(a: T, b: T) => T = (a, b) => {
const res = a + b;
// console.log(a, b);
return a;
};
ts报了 运算符“+”不能应用于类型“T”和“T” 的错误
因为你的泛型T没有类型限制,如果传入一个布尔值,一个对象,一个数组都会出问题
所以要给泛型限制类型
const func5: <T extends number>(a: T, b: T) => T = (a, b) => {
const res = a + b;
// console.log(a, b);
return a;
};
8 回答4.1k 阅读✓ 已解决
6 回答2.5k 阅读✓ 已解决
5 回答2.3k 阅读✓ 已解决
6 回答1.7k 阅读
5 回答5.8k 阅读✓ 已解决
4 回答2k 阅读✓ 已解决
3 回答2.1k 阅读
T 要收缩为
string
或者number