TypeScriptでのオブジェクト構造
オブジェクトの構造をTypeScriptの推測に任せるのではなく、変数宣言時に型として明示することができます。
例えば、変数userを宣言する際に、これは'name'フィールドに文字列、'age'フィールドに数値が格納されるオブジェクトであると指定してみましょう:
let user: {name: string, age: number};
次に、この変数に対応するオブジェクトを代入します:
user = {name: 'john', age: 30};
両方の操作(オブジェクトの宣言と値の代入)を1行にまとめることもできます:
let user: {name: string, age: number} = {name: 'john', age: 30};
これにより、TypeScriptはオブジェクトの構造とデータ型を監視し、不正な方法で変更しようとするとエラーを発生させるようになります。例:
user.name = 123; // エラー
コードを実行せずに、以下のコードの実行結果がどうなるかを判断してください:
let date: {year: number, month: number, day: number};
date = {year: 2025, month: 12, day: '01'};