TypeScript の配列
TypeScriptには、配列(Array)の型を指定するための特定の構文があります。
1. 配列の型定義
TypeScriptでは、配列内の要素がどの型であるかを指定できます。
例:配列の宣言と要素の追加
const names: string[] = [];
names.push("Dylan"); // エラーなし
// names.push(3); // エラー: 型 'number' の引数を型 'string' のパラメータに割り当てることはできません。2. 読み取り専用(Readonly)
readonly キーワードを使用すると、配列が変更されるのを防ぐことができます。これは、一度定義した配列の内容を上書きさせたくない場合に非常に有効です。
例:読み取り専用配列の作成
const names: readonly string[] = ["Dylan"];
names.push("Jack"); // エラー: プロパティ 'push' は型 'readonly string[]' に存在しません。
// readonly 修飾子を削除して、動作がどう変わるか試してみてください。3. 型推論(Type Inference)
TypeScriptは、配列に初期値がある場合、その型を自動的に推論(Infers)できます。
例:値に基づく型推論
const numbers = [1, 2, 3]; // number[] 型として推論されます
numbers.push(4); // エラーなし
// 以下の行のコメントを外すと、代入エラーが確認できます
// numbers.push("2"); // エラー: 型 'string' の引数を型 'number' のパラメータに割り当てることはできません。
let head: number = numbers[0]; // エラーなし