TypeScript におけるタプルの型
TypeScript では、要素数が限定された配列をタプルと呼ぶ。 タプル型には面白い特徴がある。
const foo = ["a", 1]; としたとき foo の型は [string, number] ではなく (string | number)[] になる。したがって、次のコードは failTuple の初期化時に型エラーになる。
const foo = ["a", 1]; // (string | number)[] const failTuple: [string, number] = foo; // 型エラー!! これを回避するための簡単な方法は、型を明示的に指定することである。具体的には次のようにする。
const bar: [string, number] = ["a", 1]; // [string, number] const successTuple: [string, number] = bar; as const をつけて変数を初期化することもできる。次の例では bar の型は readonly [string, number] となり、タプルの中身は変更できない。
const bar: [string, number] = ["a", 1]; // readonly [string, number] const successTuple: [string, number] = bar; // successTuple[0] = "b"; // エラー!
[Read More]