我有一个类似
的变量const data = [];
在我的应用程序的某些地方,数据看起来像字符串数组或数字数组
// data [1, 2, 3]
// data ["1", "2", "3"]
如何获取此变量的类型-类型为字符串数组还是数字数组?
答案 0 :(得分:2)
是的,您可以使用一种类型来输入变量
// type data as an array of strings
const data: string[] = [];
// type data as an array of numbers
const data: number[] = [];
// type data as an array of objects
const data: object[] = [];
如果要在数组中使用混合类型,可以将其键入为any
。但这可能不是一个好习惯。
const data: any[] = [];
有关输入打字稿的更多信息,请参见此处: Basic type documentation
要定义具有多种类型的数组,请参见:https://stackoverflow.com/a/29382420/1934484
答案 1 :(得分:1)
@Tomas Vancoillie的想法正确。
您可以使用:运算符声明它们。
您还可以使用Array()推断类型,例如:
let myStringArray = Array<string>();
答案 2 :(得分:0)
如果您只需要获取其中的元素的类型(由于它们是string
或number
,则只需获取第一个元素的类型,因为所有其他元素都具有相同类型:
typeof data[0] // string or number
答案 3 :(得分:0)
您可以像这样定义数组,打字稿编译器将仅允许字符串
Procfile
或者如果您想使用字符串和数字来定义它
const array: Array<string> = [];
您也可以这样定义
const array: Array<string | number> = [];