Kontrola struktury obiektu w TypeScript
TypeScript również kontroluje strukturę obiektu. Załóżmy, że zadeklarowaliśmy nasz obiekt użytkownika:
let user = {name: 'john', age: 30};
W momencie deklaracji TypeScript zapamiętuje,
że w naszym obiekcie są klucze 'name'
i 'age', a następnie kontroluje, aby
w zmiennej przechowywany był obiekt właśnie z tymi
kluczami.
Próba zapisania do zmiennej innego obiektu prowadzi do błędu kompilacji. Spróbujmy. Zapiszmy do zmiennej obiekt, w którym brakuje klucza:
user = {name: 'eric'}; // błąd
Zapiszmy do zmiennej nowy obiekt z takimi samymi kluczami, ale jeszcze i z dodatkowym kluczem:
user = {name: 'eric', age: 40, salary: 300}; // błąd
A teraz zapiszmy do zmiennej obiekt,
zawierający tylko klucze 'name' i
'age':
user = {name: 'eric', age: 40}; // działa
Bez uruchamiania kodu określ jaki będzie wynik wykonania kodu:
let date = {year: 2025, month: 12, day: 31};
date = {year: 2025, month: 12};
Bez uruchamiania kodu określ jaki będzie wynik wykonania kodu:
let date = {year: 2025, month: 12, day: 31};
date = {year: 2025, month: 12, date: 7};