Kiểm soát cấu trúc đối tượng trong TypeScript

TypeScript cũng kiểm soát cấu trúc của đối tượng. Giả sử chúng ta khai báo đối tượng người dùng của mình:

typescriptlet user = {name: 'john', age: 30};

Vào thời điểm khai báo, TypeScript ghi nhớ rằng trong đối tượng của chúng ta có các khóa 'name' và 'age', sau đó kiểm soát để trong biến lưu trữ một đối tượng có đúng các khóa đó.

Việc cố gắng ghi một đối tượng khác vào biến sẽ dẫn đến lỗi biên dịch. Hãy thử xem nào. Hãy ghi vào biến một đối tượng thiếu khóa:

typescriptuser = {name: 'eric'}; // lỗi

Hãy ghi vào biến một đối tượng mới có các khóa giống nhau, nhưng thêm một khóa thừa:

typescriptuser = {name: 'eric', age: 40, salary: 300}; // lỗi

Và bây giờ hãy ghi vào biến một đối tượng chỉ chứa các khóa 'name' và 'age':

typescriptuser = {name: 'eric', age: 40}; // hoạt động
Задание 1

Không chạy code, hãy xác định kết quả thực thi code sẽ là gì:

typescriptlet date = {year: 2025, month: 12, day: 31};
date = {year: 2025, month: 12};
Задание 2

Không chạy code, hãy xác định kết quả thực thi code sẽ là gì:

typescriptlet date = {year: 2025, month: 12, day: 31};
date = {year: 2025, month: 12, date: 7};