TypeScriptにおけるオブジェクト構造の制御
TypeScriptはオブジェクトの構造も制御します。 ユーザーオブジェクトを次のように宣言したとしましょう:
let user = {name: 'john', age: 30};
宣言時、TypeScriptはオブジェクトにキー'name'
と'age'があることを記憶し、
その後、変数にこれらのキーを持つオブジェクトが
確実に格納されるように制御します。
変数に別のオブジェクトを代入しようとすると、 コンパイルエラーが発生します。 試してみましょう。キーが不足しているオブジェクトを 変数に代入します:
user = {name: 'eric'}; // エラー
同じキーを持ち、さらに余分なキーも含む 新しいオブジェクトを変数に代入します:
user = {name: 'eric', age: 40, salary: 300}; // エラー
次に、キー'name'と'age'のみを
含むオブジェクトを変数に代入します:
user = {name: 'eric', age: 40}; // 動作する
コードを実行せずに、コードの実行結果が どうなるか判断してください:
let date = {year: 2025, month: 12, day: 31};
date = {year: 2025, month: 12};
コードを実行せずに、コードの実行結果が どうなるか判断してください:
let date = {year: 2025, month: 12, day: 31};
date = {year: 2025, month: 12, date: 7};