TypeScript タプル

TypeScriptのタプルは、1つの変数に異なる型の要素を固定数で格納したものです。タプルは配列と似ていますが、タプル内の各要素は特定の型を持っています。

TypeScript タプルの生成方法

タプルを作るには、以下の構文を用います。

tupleName : [type1, type2, type3, ...] = [value1, value2, value3, ...] 

たとえば、文字列、数値、ブール値を保持するタプルを作るには、次のように書きます。

let myTuple: [string, number, boolean] = ["hello", 42, true];

また、typeキーワードで型を作成し、それを使って変数を定義することも可能です。

type MyTupleType = [string, number, boolean];
let myTuple: MyTupleType = ["hello", 42, true];

TypeScript タプルの個々の要素

タプルの値を別々の変数に抽出することもできます。

let myTuple: [string, number, boolean] = ["hello", 42, true];
let [a, b, c] = myTuple;
console.log(a); // "hello"
console.log(b); // 42
console.log(c); // true

配列ではなくタプルを使用する主な利点の1つは、間違ったデータ型の使用によるエラーを防ぐのに役立つことです。

例えば、タプルを引数に取る関数がある場合、その関数はタプルで定義された特定のデータ型のみを受け取り、他のデータ型は受け取らないことが分かっています。これにより、コードがより堅牢になり、メンテナンスも容易になります。

もう一つ重要なことは、タプルはサイズが固定されており、作成後に要素を追加したり削除したりできないことです。これは用途によって、メリットにもデメリットにもなります。

例えば、2Dや3Dの空間で点を表現する必要があるとき、タプルを使うことができるかもしれません。2次元空間の点は[number, number]という型のタプルで表現され、最初の要素はx座標、2番目の要素はy座標になります。

また、タプルはサイズが固定されているので、誤って要素を追加したり削除したりすることがありません。これは、2次元空間の点が常に正確に2つの座標を持つことが分かっているような状況で有利に働くことがあります。

この記事を書いた人

著者の画像

Jeffry Alvarado

Ex-Facebook Engineer 大学ではコンピュータサイエンスを専攻し、在学中に複数のインターンシップを経験。コンピュータサイエンスが学習できるプラットフォームRecursionを創業し、CTOとしてカリキュラム作成、ソフトウェア開発を担当。


ツイート