TypeScriptda Interfaysning Ixtiyoriy Xususiyatlari

Interfaysda shuningdek, maxsus ixtiyoriy (majburiy bo'lmagan) xususiyatlarni belgilash mumkin. Ular ob'ektni ma'lum bir xususiyatlar to'plami bilan cheklamaslik uchun kerak. Shu bilan birga, interfaysga kirmaydigan xususiyatlardan foydalanish taqiqlanadi. Ixtiyoriy xususiyatlar ? operatori yordamida belgilanadi, u xususiyat nomidan keyin ko'rsatiladi.

Keling, IFigure interfeysini yarataylik, barcha figura-ob'ektlariga xususiyatlarni belgilovchi. color ni ixtiyoriy xususiyat qilaylik:

typescriptinterface IFigure {
  height: number;
  width: number;
  color?: string;
}

Endi rectangle ob'ektini yaratamiz va uning rang qiymatini konsolga chiqaramiz:

typescriptlet rectangle: IFigure = {
  height: 200,
  width: 300,
  color: 'red'
}

console.log(rectangle.color); // 'red'

Endi ob'ektda rangni belgilamasak, xato bo'ladimi yoki yo'qligini tekshiramiz:

typescriptlet rectangle: IFigure = {
  height: 200,
  width: 300
}

console.log(rectangle.color);

Xato bo'lmaydi va konsolga shunchaki rang aniqlanmaganligi haqida xabar chiqadi:

typescriptundefined
Задание 1

Sana saqlovchi ob'ekt uchun IDate interfeysini yarating: yil, oy va kun. Barcha xususiyatlar ixtiyoriy bo'lsin.