TypeScriptはTupleと呼ばれる新しいデータ型を導入しました。 タプルには、異なるデータ型の2つの値を含めることができます。
数値、文字列、タプル型の変数の次の例を考えてみましょう。
コピー
var empId: number = 1;var empName: string = "Steve"; // Tuple type variable var employee: = ;
上記の例では、変数empId
を数値型として定義し、empName
を値を持つ文字列型として定義しました。 ここでは、従業員のidとnameに2つの変数を宣言して割り当てました。 同じことは、単一のタプル型変数を使用することによって達成することができます。 employee
は、数値と文字列型の2つの値を持つタプル型変数です。 したがって、2つの異なる変数を宣言する必要性を排除します。
タプル型変数には、以下に示すように複数のデータ型を含めることができます。
コピー
var employee: = ;var person: = ;var user: ;// declare tuple variableuser = ;// initialize tuple variable
タプルの配列を宣言することもできます。
コピー
var employee: ;employee = , , ];
TypeScriptは、タプル変数のためにJavaScriptで配列を生成します。 たとえば、var employee: =
はJavaScriptでvar employee =
としてコンパイルされます。
タプル要素へのアクセス
配列と同じようにindexを使用してタプル要素にアクセスできます。 インデックスはゼロから始まります。
コピーへのアクセス
var employee: = ;employee; // returns 1employee; // returns "Steve"
Tupleに要素を追加する
push()メソッドを使用して、新しい要素をタプルに追加できます。
コピー
var employee: = ;employee.push(2, "Bill"); console.log(employee); //Output:
これは、タプルに数値と文字列の値を追加しており、employee
タプルに対して有効であるために許可されています。
さて、タプルにブール値を追加してみましょう。
employee.push(true)
上記の例では、次のエラーがスローされます:
test.ts(4,15): error TS2345: Argument of type 'true' is not assignable to parameter of type 'number | string'.
‘number|string’型のタプルにブール値を追加することは許可されていないというエラーが表示されます。 したがって、’number|string’として宣言されたタプルは、数値と文字列の値のみを格納できます。
タプルは配列のようなものです。 したがって、pop()、concat()などのタプルで配列メソッドを使用できます。
コピーを使用する
var employee: = ;// retrieving value by index and performing an operation employee = employee.concat(" Jobs"); console.log(employee); //Output: