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 回答5.8k 阅读✓ 已解决
9 回答9.2k 阅读
6 回答4.8k 阅读✓ 已解决
5 回答3.5k 阅读✓ 已解决
3 回答10.3k 阅读✓ 已解决
4 回答7.9k 阅读✓ 已解决
7 回答9.9k 阅读
T 要收缩为
string
或者number