![](/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.