Propriétés optionnelles des interfaces en TypeScript
Dans une interface, il est également possible de définir des propriétés spéciales
optionnelles (facultatives).
Elles sont nécessaires pour ne pas restreindre
un objet à un ensemble spécifique de propriétés. En même temps,
l'utilisation de propriétés
qui ne font pas partie de l'interface est interdite. Les propriétés optionnelles
sont définies à l'aide de l'opérateur ?,
placé après le nom de la propriété.
Créons une interface IFigure,
définissant les propriétés pour tous les objets-formes.
Soit color une propriété
optionnelle :
interface IFigure {
height: number;
width: number;
color?: string;
}
Maintenant, créons un objet rectangle et
affichons la valeur de sa couleur dans la console :
let rectangle: IFigure = {
height: 200,
width: 300,
color: 'red'
}
console.log(rectangle.color); // 'red'
Et maintenant, vérifions s'il y aura une erreur si la couleur n'est pas définie dans l'objet :
let rectangle: IFigure = {
height: 200,
width: 300
}
console.log(rectangle.color);
Il n'y aura pas d'erreur et la console affichera un message indiquant que la couleur n'est simplement pas définie :
undefined
Créez une interface IDate pour un objet
stocker une date : l'année, le mois et le jour. Que
toutes les propriétés de l'objet soient facultatives.