我有以下方法:
getFiveObjectsFromArray(array: string[] | number[] | myInterface[]) {
return array.slice(0, 5);
}
我使用了这个方法几次,有什么原因使用 Typscript 传递泛型参数而不是使用多种类型?
顺便说一下,当我尝试使用参数“T”时,我遇到了这个错误:
“TS7006:参数“T”隐式具有“any”类型。”
如果您想接受任何
Array
而不介意Type
function getFiveObjectsFromArray(array: unknown[]) {
return array.slice(0, 5);
}
如果你想使用
Generic
,那么
function getFiveObjectsFromArray<T>(array: T[]) {
return array.slice(0, 5);
}
getFiveObjectsFromArray<number>([0]);
getFiveObjectsFromArray<string>(["hello"]);
getFiveObjectsFromArray<string>([0]); // shows error