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” 的错误

阅读 3.5k
2 个回答

T 要收缩为 string或者number

因为你的泛型T没有类型限制,如果传入一个布尔值,一个对象,一个数组都会出问题

所以要给泛型限制类型

  const func5: <T extends number>(a: T, b: T) => T = (a, b) => {
    const res = a + b;
    // console.log(a, b);
    return a;
  };
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
logo
Microsoft
子站问答
访问
宣传栏