Typescript 泛型类型数组

问题描述 投票:0回答:1

我有以下方法:

getFiveObjectsFromArray(array: string[] | number[] | myInterface[]) {
    return array.slice(0, 5);
  }

我使用了这个方法几次,有什么原因使用 Typscript 传递泛型参数而不是使用多种类型?

顺便说一下,当我尝试使用参数“T”时,我遇到了这个错误:

“TS7006:参数“T”隐式具有“any”类型。”

javascript arrays typescript interface typescript-generics
1个回答
0
投票

如果您想接受任何

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
© www.soinside.com 2019 - 2024. All rights reserved.