TypeScript-da obyekt strukturasi nazorati
TypeScript shuningdek obyekt strukturasi ustidan nazoratni amalga oshiradi. Faraz qilaylik, biz foydalanuvchi obyektimizni quyidagicha e'lon qildik:
let user = {name: 'john', age: 30};
E'lon qilish paytida TypeScript eslab qoladi,
obyektimizda 'name' va
'age' kalitlari mavjudligini,
so‘ngra o‘zgaruvchida anavi kalitlarga ega
bo‘lgan obyekt saqlanishini nazorat qiladi.
O‘zgaruvchiga boshqa obyekt yozishga urinish kompilyatsiya xatosiga olib keladi. Keling, sinab ko‘raylik. O‘zgaruvchiga yetishmayotgan kalitga ega obyekt yozamiz:
user = {name: 'eric'}; // xato
O‘zgaruvchiga bir xil kalitlarga, lekin qo‘shimcha kalitga ega yangi obyekt yozamiz:
user = {name: 'eric', age: 40, salary: 300}; // xato
Endi esa o‘zgaruvchiga faqat 'name' va
'age' kalitlarini o‘z ichiga olgan
obyekt yozamiz:
user = {name: 'eric', age: 40}; // ishlaydi
Kodni ishlamasdan, quyidagi kodni bajarish natijasi qanday bo‘lishini aniqlang:
let date = {year: 2025, month: 12, day: 31};
date = {year: 2025, month: 12};
Kodni ishlamasdan, quyidagi kodni bajarish natijasi qanday bo‘lishini aniqlang:
let date = {year: 2025, month: 12, day: 31};
date = {year: 2025, month: 12, date: 7};