[T, U] タプル型

最終更新:2026-10-22

[T, U] タプル型

タプルは「長さが固定で、位置ごとに型が異なる」配列型です。座標、キーと値のペア、関数の複数戻り値など、位置そのものに意味があるデータに適しています。

グループ基本型
種類型
strict モード不要

ℹ️ 説明 エディタは TypeScript を JavaScript にトランスパイルして実行します(型チェックなし)。型チェック結果は各サンプルの出力を参照してください。

📝 構文

type Point = [number, number];
type Named = [name: string, age: number]; // ラベル付きタプル
let pair: Point = [3, 4];

⚙️ パラメータ

[T, U]位置ごとに型を宣言します。第 0 位が T、第 1 位が U で、長さも固定です
[lat: number][lat: number, lng: number] のように位置に名前を付けます。可読性に影響するだけです

戻り値:戻り値はありません。タプルは純粋な型レベルの概念で、実行時には普通の配列です。

▶ サンプル

下のコードを編集して「試す」を押すと、トランスパイル実行結果を確認できます:

出力:

rgb(255, 0, 0)

(トランスパイル後の実行出力。red.push("x") も red = [255, 0] もどちらもコンパイルエラーになります)

💡 ポイント

ℹ️ 説明 タプルは実行時には普通の配列であり、長さの制約はコンパイル時にのみ存在します。
💡 ヒント 具名タプル [lat: number, lng: number] は分割代入や IDE の補完がより意味のあるものになります。複数戻り値の場面で強くおすすめです。
⚠️ 注意 push は宣言済みの型の要素ならタプルに追加できてしまい(長さを超えられます)、[number, number].push(1) はエラーになりません。位置の意味は規律で守るしかありません。
ケースは今後追加予定です。

📚 関連チュートリアル

❓ よくある質問

Q タプルと配列の違いは何ですか?
A 配列は長さが可変で要素は同型、タプルは長さが固定で位置ごとに型が異なります。「各位置の意味が異なる」データ([経度, 緯度] など)にはタプルを、コレクション系のデータには配列を使います。
Q タプルにオプション要素は持たせられますか?
A はい。[string, number?] は第 2 位が存在しない場合があることを表し、オプション要素は必ず末尾に置かなければなりません。
Q タプルとレストパラメータにはどんな関係がありますか?
A レストパラメータは本質的にタプルです。function f(...args: [string, number]) は、呼び出し時にまず string を渡し、次に number を渡すことを正確に規定します。
Web-Tutorial.com

Web-Tutorial 技術チーム

複数の開発者によって共同維持されているプログラミングチュートリアルプラットフォーム。各チュートリアルは専門分野の開発者が執筆・レビューしています。正確で信頼性の高いコンテンツを目指しています — 問題を見つけた場合はお知らせください。

100%