【发布时间】:2019-07-27 10:07:08
【问题描述】:
我不明白<T> 在我的情况下是否是一个数字,为什么它不能分配给数字类型的参数?如果我将 n 的类型更改为 number 或 any(显然)它仍然可以工作。
错误:
代码:
const dropFoo = <T>(arr: T[], n: T): T[] => {
return _.drop(arr, n)
};
const drop = dropFoo<number>([1, 2, 3], 1);
console.log(drop);
【问题讨论】:
-
您在
dropFoo的函数签名中为n分配了T类型,而不是Number。这是一个简单的修复,不是吗? -
drop中的第二个参数是一个索引。n应该是这样吗?如果是这样,T是否有可能不是数字? -
this question的答案说明了(问题略有不同,但说明基本相同)
标签: javascript typescript lodash typescript-generics