Kontrola typów wartości obiektu w TypeScript

W momencie deklaracji obiektu TypeScript zapamiętuje typ danych wszystkich jego elementów, a następnie kontroluje, aby te typy nie ulegały zmianie.

Spójrzmy na przykładzie naszego obiektu z użytkownikiem. Zadeklarujmy go:

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

Po deklaracji TypeScript przeanalizował typ danych każdej wartości i zapamiętał, że w polu 'name' - łańcuch znaków, a w polu 'age' - liczba.

Teraz próba zapisania w polu wartości innego typu zakończy się błędem.

Przykład:

typescriptuser.name = 123; // błąd

Przykład:

typescriptuser.age = 'eee'; // błąd

Przykład:

typescriptuser.age = '30'; // błąd
Задание 1

Bez uruchamiania kodu określ, jaki będzie wynik wykonania kodu:

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

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

Bez uruchamiania kodu określ, jaki będzie wynik wykonania kodu:

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

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

Bez uruchamiania kodu określ, jaki będzie wynik wykonania kodu:

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

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

Bez uruchamiania kodu określ, jaki będzie wynik wykonania kodu:

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

console.log(user);