Контрол на структурата на обекта в 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};