Sifat Pilihan Antara Muka dalam TypeScript

Dalam antara muka, kita juga boleh menetapkan sifat khas pilihan (tidak wajib). Ia diperlukan untuk tidak menyekat objek kepada set sifat tertentu. Pada masa yang sama, penggunaan sifat-sifat yang tidak termasuk dalam antara muka adalah dilarang. Sifat pilihan ditetapkan menggunakan pengendali ?, diletakkan selepas nama sifat.

Mari kita buat antara muka IFigure, yang menetapkan sifat untuk semua objek-objek bentuk. Biarkan color menjadi sifat pilihan:

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

Sekarang mari kita buat objek rectangle dan tunjukkan nilai warnanya dalam konsol:

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

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

Dan sekarang mari kita semak sama ada akan berlaku ralat, jika warna tidak ditetapkan dalam objek:

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

console.log(rectangle.color);

Tidak akan ada ralat dan mesej akan dipaparkan dalam konsol mengenai warna tidak ditakrifkan:

typescriptundefined
Задание 1

Buat antara muka IDate untuk objek, yang menyimpan tarikh: tahun, bulan dan hari. Biarkan semua sifat objek menjadi tidak wajib.