ობიექტის სტრუქტურის კონტროლი 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};