Propriétés en lecture seule dans une interface en TypeScript

Les propriétés en lecture seule sont définies une seule fois lors de la création de l'objet. Il est impossible de les modifier par la suite. Pour déclarer ces propriétés, le mot-clé readonly est utilisé.

Prenons l'interface IFigure, créée dans la leçon précédente. Mais maintenant, définissons la propriété width comme accessible uniquement en lecture :

typescriptinterface IFigure {
  height: number;
  readonly width: number;
}

Créons un objet rectangle :

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

Modifions la hauteur :

typescriptrectangle.height = 150;

Maintenant, modifions la largeur et nous verrons une erreur, car la largeur est déclarée comme non modifiable :

typescriptrectangle.width = 400; // erreur
Задание 1

Créez une interface IUser dans laquelle la propriété salary sera accessible uniquement en lecture.