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