Свойства только для чтения в интерфейсе в TypeScript

Свойства только для чтения задаются только один раз при создании объекта. В дальнейшем изменить их нельзя. Для объявления данных свойств используется ключевое слово readonly.

Возьмем интерфейс IFigure, созданный в предыдущем уроке. Но теперь зададим свойству width доступ только для чтения:

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

Давайте создадим объект rectangle:

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

Изменим высоту:

rectangle.height = 150;

А теперь изменим ширину и увидим ошибку, так ширина объявлена неизменяемой:

rectangle.width = 400; //!! ошибка

Создайте интерфейс IUser, в котором свойство salary будет доступным только для чтения.