Контрол на типовете стойности на обект в 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);