TypeScript泛型错误:算术运算的左侧必须为“ any”,“ number”,“ bigint”类型

Ben :

我不明白为什么会收到以下错误。我已声明的类型firstnumber请提供正确的代码以使其正常工作。

function divide<T, U>(first: T, second: U): number {
  return first / second;
}

const result = divide<number, number>(40, 2);

这是TypeScript输出的错误:

5:12 The left-hand side of an arithmetic operation must be of type 'any', 'number', 'bigint' or an enum type.
    3 | const TitleBar = () => {
    4 |   function divide<T, U>(first: T, second: U): number {
  > 5 |     return first / second;
      |            ^
    6 |   }
    7 |
    8 |   const result = divide<number, number>(40, 2);
bugcatcher9000:

T和U是通用占位符。TypeScript编译器不知道firstand second参数将是除法操作的兼容类型。!==参数类型的函数返回类型。

编译该代码是因为现在TypeScript知道T和U是扩展数字的类型。

function divide<T extends number, U extends number>(first: T, second: U): number {
  return first / second;
}

const result = divide<number, number>(40, 2);

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

TypeScript TS7015:元素隐式地具有“ any”类型,因为索引表达式不是“ number”类型

算术运算的左侧和右侧必须为“ any”,“ number”或枚举类型

算术运算的左侧必须为“ any”,“ number”或枚举类型

Mockito.any()匹配任何泛型类型T的实例

Delphi中具有泛型类型的算术运算

算术运算的右侧必须为“ any”,“ number”或枚举类型

打字稿。如何避免在foreach循环中出现此错误:“算术运算的左侧必须为'any','number'或枚举类型”?

元素隐式具有“ any”类型,因为索引表达式不是“ number”类型[7015]

Angular TypeScript错误-无法将类型'number'分配给类型'any []'

算术运算的右侧必须为“ any”,“ number”,“ bigint”或枚举类型

过滤类型为Any的varargs

Object.keys迭代导致Typescript错误“元素隐式具有'any'类型,因为索引表达式不是'number'类型”

元素隐式地具有“ any”类型,因为索引表达式不是“ number”类型。-索引签名错误

BigInt数据类型的Sqoop导入错误

Any类型的泛型有什么意义?

错误C2227:“->文本”的左侧必须指向类/结构/联合/泛型类型

Typescript-索引表达式参数的类型必须为'string','number','symbol'或'any'

类型为Any和TypeTag的对象的JSON

得到错误算术运算的左侧必须是“any”、“number”或枚举类型

Ionic 3 - Typescript 错误:算术操作数的类型必须是“any”、“number”或枚举类型

算术运算的左侧必须是“any”、“number”或枚举类型。不能将 Number 声明为 number

我正在尝试将 javascript Number 类型转换为 BIGINT 以传递给 Postgres 表

错误 TS2362:算术运算的左侧必须是“any”、“number”、“bigint”或枚举类型

类型 'IterableIterator<[number, any]>' 不是数组类型或字符串类型

元素隐式具有 'any' 类型,因为类型 'string' 的表达式不能用于索引类型 '{ AT: number; 是:数字,...}`

类型被推断为 any with find moongose typescript

TypeScript 错误:类型 'string' 不能分配给类型 'number | ""'

Angular - 错误 TS2322:输入 '{ id: number; 名称:字符串;}' 不可分配给类型 'NgIterable<any> | 空| 不明确的'

TypeScript 泛型 - 类型 'T[string]' 不可分配给类型 'number'