[TypeScript] 配列とタプルの違いを理解しよう!📚

post-cover

配列 (Array)

特徴

  • 同じ型の要素
  • 可変長
  • インデックスアクセス

ex)

let numbers: number[] = [1, 2, 3];
let strings: string[] = ["apple", "banana", "cherry"];

// 配列追加できる
numbers.push(5); // [1, 2, 3, 4, 5]

// インデックスアクセス
let firstNumber = numbers[0]; // 1

タプル (Tuple)

特徴

  • 異なる型の要素
  • 固定長
  • 順序と型が固定
let person: [string, number] = ["john", 20];

let name = person[0]; // "Alice"
let age = person[1]; // 25

// タプルの要素の変更
person[1] = 26; // ["Alice", 26]

// 長さや型を変更しようとするとエラー
// person[2] = "Developer"; // エラー: 型 'undefined' を型 'string' に割り当てることはできません。
// person = ["Bob", "Developer"]; // エラー: 型 'string' を型 'number' に割り当てることはできません。

配列とタプルの違い

  1. 要素の型の統一性
  • 配列: 同じ型の要素のみを格納できる。
  • タプル: 異なる型の要素を格納できる。
  1. 長さの固定:

    • 配列: 長さが動的に変わる。
    • タプル: 長さが固定されている。
  2. 要素の型の厳密性:

    • 配列: 要素の型は統一されているため、柔軟性がある。
    • タプル: 要素の型と順序が固定されているため、厳密に管理される。
  3. 主な用途:

    • 配列: 同じ型のデータをまとめて扱いたい場合に使用。
    • タプル: 異なる型のデータをまとめて1つの単位として扱いたい場合に使用。

Profile picture
michael ☻︎ 🇯🇵
Web Engineer(PHP/Laravel, Python/FastAPI/Flask, TypeScript/Vue/React, AWS/GCP, etc.) / Freelance /
Profile picture
michael ☻︎ 🇯🇵
Web Engineer(PHP/Laravel, Python/FastAPI/Flask, TypeScript/Vue/React, AWS/GCP, etc.) / Freelance /
FebMarAprMayJunJul
© 2024, PWE