配列・タプル(array-tuple)

TypeScriptでは、配列(Array)やタプル(Tuple)を使って順序付きの複数の値を扱うことができます。
型を指定することで、要素の型・構成の安全性を確保できます。


📦 配列型(Array)

配列は以下のいずれかの構文で型を指定します:

const names: string[] = ["Alice", "Bob"];
const ids: Array
<number> = [1, 2, 3];

どちらの書き方でも意味は同じです。

🔍 空配列の場合は型注釈必須

const tags: string[] = [];
const values: Array
<number> = [];

📐 タプル型(Tuple)

タプルは異なる型を順序付きで持つ固定長配列です。

const point: [number, number] = [10, 20];
const user: [string, number] = ["Taro", 30];
  • 要素の型・順序・数がすべて固定されている
  • 明示的に [型, 型, ...] で指定する必要があります

ReactのuseStateの戻り値に使われているのもタプル


✋ タプルの制約と注意点

  • タプルの要素数は固定(例:2要素のタプルに3つ入れるとエラー)
  • readonly をつけて変更を禁止することも可能:
const coord: readonly [number, number] = [0, 0];
// coord[0] = 5; // ❌ 書き換えエラー

🧪 可変長のタプル(Rest要素)

const args: [string, ...number[]] = ["sum", 1, 2, 3];
  • 最初の要素は string、それ以降は任意の数の number
  • 関数の引数などで便利

✅ まとめ

項目 配列(Array) タプル(Tuple)
型の統一 同じ型のみ 異なる型もOK
要素数 任意 固定
型の指定 string[] / `Array
|[T1, T2, …]`
ユースケース リストデータ、ループ処理等 固定構造の返り値・複数値の保持など
const users: [string, number][] = [
  ["Alice", 20],
  ["Bob", 30]
];

配列は「可変長・同型」、タプルは「固定長・異型」のコレクションとして使い分けましょう。

コメントを残す 0

Your email address will not be published. Required fields are marked *