![](/img/trans.png)
[英]In Typescript how do I declare a function that return string type array?
[英]How to declare an array of type of a variable in Typescript?
假设我有一个变量x
,它可以是任何类型:
let x: number = 5
我想创建一个存储x
类型值的数组。 在这种情况下,我想要一个number[]
。
但是, x
可以是任何类型:原语、对象、自定义类型等。
我正在寻找这样的东西:
// Doesn't work
let arr: <x>[] = []
我觉得 generics 是这里的答案,但我想不出任何具体的方法来解决这个问题。
有什么办法可以做到这一点?
如果x
是类型名称,则只需使用x[]
或Array<x>
。 手册链接
如果x
是变量名或类似名称,则使用typeof
类型运算符: (typeof x)[]
或Array<typeof x>
:
declare let x: number;
let arr1: Array<typeof x>;
// ^^^−−−−−−−−−−−− this is number[]
let arr2: (typeof x)[];
// ^^^−−−−−−−−−−−− so is this
请注意,TypeScript typeof
运算符与 JavaScript typeof
运算符的值不同。 当typeof
作为类型定义的一部分出现时,它是 TypeScript typeof
类型运算符; 当它与一个值相关时,它是 JavaScript typeof
运算符。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.