ინტერფეისის ოფციონალური თვისებები 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 ობიექტისთვის,
რომელიც ინახავს თარიღს: წელი, თვე და დღე. მოდით
ობიექტის ყველა თვისება იყოს არასავალდებულო.