Кантроль тыпаў значэнняў аб'екта ў TypeScript

У момант аб'яўлення аб'екта TypeScript запамінае тып дадзеных усіх яго элементаў, а затым кантралюе, каб гэтыя тыпы не змяняліся.

Паглядзім на прыкладзе нашага аб'екта з карыстальнікам. Аб'явім яго:

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

Пасля аб'яўлення TypeScript прааналізаваў тып дадзеных кожнага значэння і запамятаў, што ў полі 'name' - радок, а ў полі 'age' - лік.

Цяпер спроба запісаць у поле значэнне іншага тыпу скончыцца памылкай.

Прыклад:

typescriptuser.name = 123; // памылка

Прыклад:

typescriptuser.age = 'eee'; // памылка

Прыклад:

typescriptuser.age = '30'; // памылка
Задание 1

Не запускаючы код вызначыце якім будзе вынік выканання кода:

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

console.log(date);
Задание 2

Не запускаючы код вызначыце якім будзе вынік выканання кода:

typescriptlet product = {code: '123', name: 'apple', price: 12};
product.code = 123;

console.log(product);
Задание 3

Не запускаючы код вызначыце якім будзе вынік выканання кода:

typescriptlet product = {code: '123', name: 'apple', price: 12 };
product.price = 123;

console.log(product);
Задание 4

Не запускаючы код вызначыце якім будзе вынік выканання кода:

typescriptlet user = {name: 'john', admin: true};
user.admin = 'false';

console.log(user);