Array<T> 配列型
最終更新:2026-10-22
Array<T> 配列型
配列型は「同じ型の要素の集まり」を表し、T[] と Array<T> の 2 通りの書き方があり、完全に等価です。リスト、コレクション、一括データに使います。
| グループ | 基本型 |
|---|---|
| 種類 | 型 |
| strict モード | 不要 |
ℹ️ 説明 エディタは TypeScript を JavaScript にトランスパイルして実行します(型チェックなし)。型チェック結果は各サンプルの出力を参照してください。
📝 構文
let ids: number[] = [1, 2, 3];
let names: Array<string> = ["Ada", "Li"];
let mixed: (string | number)[] = [1, "a"];
⚙️ パラメータ
| T[] | 簡潔な書き方で、日常の第一選択です |
|---|---|
| Array<T> | ジェネリックによる書き方。要素の型が複雑(ユニオンを含む)な場合にはこちらの方が読みやすくなります |
戻り値:戻り値はありません。配列型は純粋な型レベルの概念で、実行時には普通の JS 配列そのものです。
▶ サンプル
下のコードを編集して「試す」を押すと、トランスパイル実行結果を確認できます:
出力:
pen, book, bag
total: 50.5
(トランスパイル後の実行出力。prices に文字列を push するとコンパイルエラーになります)
💡 ポイント
ℹ️ 説明 T[] と Array<T> は完全に等価です。チームでどちらか一方のスタイルを決めて統一すれば十分です。
⚠️ 注意 配列型は長さも順序も制約しません。「固定長で各位置の意味が異なる」データにはタプル(tuple)を使います。
💡 ヒント 読み取り専用の配列には readonly T[] を使い、push/splice による意図しない変更を防ぎ、関数に渡したときに改変されないことも示せます。
🏷️ 関連基本型
💡 関連ケース
ケースは今後追加予定です。
📚 関連チュートリアル
❓ よくある質問
Q 要素が欠落する可能性がある配列はどう表現しますか?
A (T | undefined)[] を使い、要素へアクセスした後にナローイングか ?. での処理を行います。T[] で「要素が必ず存在する」と嘘をついてはいけません。
Q 配列とタプルの違いは何ですか?
A 配列は長さが可変で全要素が同じ型、タプルは長さが固定で位置ごとに型が異なります。座標 [number, number] にはタプル、買い物かごのリストには配列を使います。
Q const arr = [] の型は何になりますか?
A strict モードでは「進化する配列」になります。初期は any[] で、push する要素の型に応じて徐々に絞り込まれます。この暗黙の挙動を避けるため、常に明示的な注釈を書くことをおすすめします。