回答:
TypeScriptで複数の型を持つ配列を定義する
ユニオンタイプの(string|number)[]デモを使用します。
const foo: (string|number)[] = [ 1, "message" ];
次の形式の配列があります:[1、 "message"]。
要素が常に2つしかないことが確実な場合は[number, string]、それをタプルとして宣言できます。
const foo: [number, string] = [ 1, "message" ];
それをタプルとして扱う場合(言語仕様のセクション3.3.3を参照)、次のようになります。
var t:[number, string] = [1, "message"]
または
interface NumberStringTuple extends Array<string|number>{0:number; 1:string}
var t:NumberStringTuple = [1, "message"];
type NumberStringTuple = [number, string]
const W3COLORS: [[string, string, number, number]] = [ ["aliceblue", "#f0f8ff", 240, 248, 255], ... ];
私のTSリントは他のソリューションについて不満を言っていたので、私のために働いていたソリューションは次のとおりでした:
item: Array<Type1 | Type2>
タイプが1つしかない場合は、使用しても問題ありません。
item: Type1[]
複数のタイプのアイテムを持つことができる配列を入力するために、次のフォーマットで解決しました。
Array<ItemType1 | ItemType2 | ItemType3>
これは、テストとタイプガードでうまく機能します。https://www.typescriptlang.org/docs/handbook/advanced-types.html#type-guards-and-differentiating-types
この形式は、テストまたはタイプガードではうまく機能しません。
(ItemType1 | ItemType2 | ItemType3)[]