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:
let 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:
user = {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:
user = {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':
user = {name: 'eric', age: 40}; // hoạt động
Không chạy code, hãy xác định kết quả thực thi code sẽ là gì:
let date = {year: 2025, month: 12, day: 31};
date = {year: 2025, month: 12};
Không chạy code, hãy xác định kết quả thực thi code sẽ là gì:
let date = {year: 2025, month: 12, day: 31};
date = {year: 2025, month: 12, date: 7};