Object

TypeScript-dagi ob'ektlar

TypeScript Ob'ekt Turlari

TypeScript ob'ektlar uchun maxsus yozish sintaksisiga ega.

Bizning JavaScript Ob'ektlar bo'limimizda ob'ektlar haqida ko'proq o'qing.

Misol:

const car: { type: string; model: string; year: number } = {
  type: 'Toyota',
  model: 'Corolla',
  year: 2009,
};

Bunday ob'ekt turlari alohida yozilishi va hatto qayta ishlatilishi mumkin, batafsil ma'lumot uchun interfeyslarga qarang.

Tur Inferentsiyasi

TypeScript qiymatlarga asoslanib, xususiyatlarning turlarini taxmin qila oladi.

Misol:

const car = {
  type: 'Toyota',
};
car.type = 'Ford'; // xatolik yo'q
car.type = 2; // Xatolik: 'number' turi 'string' turiga mos kelmaydi.

Ixtiyoriy Xususiyatlar

Ixtiyoriy xususiyatlar ob'ekt ta'rifida aniqlanishi shart bo'lmagan xususiyatlardir.

Ixtiyoriy xususiyatsiz misol:

const car: { type: string; mileage: number } = {
  // Xatolik: '{ type: string; }' turida 'mileage' xususiyati yo'q, ammo u '{ type: string; mileage: number; }' turida talab qilinadi.
  type: 'Toyota',
};
car.mileage = 2000;

Ixtiyoriy xususiyat bilan misol:

const car: { type: string; mileage?: number } = {
  // xatolik yo'q
  type: 'Toyota',
};
car.mileage = 2000;

Indeks Signature

Indeks signaturelar aniqlangan xususiyatlar ro'yxatisiz ob'ektlar uchun ishlatilishi mumkin.

Misol:

const nameAgeMap: { [index: string]: number } = {};
nameAgeMap.Jack = 25; // xatolik yo'q
nameAgeMap.Mark = 'Fifty'; // Xatolik: 'string' turi 'number' turiga mos kelmaydi.

Bunday indeks signaturelar Record<string, number> kabi yordamchi turlar bilan ham ifodalanishi mumkin.

Bu kabi yordamchi turlar haqida ko'proq ma'lumotni bizning TypeScript Yordamchi Turlari bo'limimizdan oling.

Ushbu sahifada

GitHubda tahrirlash