TypeScript да интерфейснинг опционал хоссалари
Интерфейсда махсус опционал (ихтиёрий) хоссаларни
белгилаш мумкин. Улар объектни белгиланган
хоссалар тўплами билан чекламаслик учун керак.
Шу билан бирга, интерфейсга кирмайдиган хоссаларни
ишлатиш тақиқланади. Опционал хоссалар номонинг
ортига ? операторини қўйиш орқали белгиланади.
Келинг, IFigure интерфейсини яратайлик,
у барча объект-шакллар учун хоссаларни белгиласин.
color опционал хосса бўлсин:
interface IFigure {
height: number;
width: number;
color?: string;
}
Энди rectangle объектини яратиб, унинг
ранг қийматини консолга чиқарайлик:
let rectangle: IFigure = {
height: 200,
width: 300,
color: 'red'
}
console.log(rectangle.color); // 'red'
Энди объектда рангни белгиламасак, хатолик бўладими ёки йўқлигини текширайлик:
let rectangle: IFigure = {
height: 200,
width: 300
}
console.log(rectangle.color);
Хатолик бўлмайди ва консолда ранг жуда аникланмаганлиги хакида хабар чиқади:
undefined
IDate интерфейсини яратинг, у санани
сақловчи объект учун: йил, ой ва кун. Барча
хоссалар ихтиёрий бўлсин.