Хусусиятҳои фақат барои хондан дар интерфейс дар TypeScript

Хусусиятҳои фақат барои хондан танҳо як маротиба ҳангоми сохтани объект муайян карда мешаванд. Баъдтар тағйир додани онҳо мумкин нест. Барои эълон кардани ин хусусиятҳо калимаи калидӣ readonly истифода мешавад.

Биёед интерфейси IFigure-ро, ки дар дарси гузашта сохта шуда буд, гирем. Аммо акнун ба хусусияти width дастрасиро фақат барои хондан муайян кунем:

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

Биёед объекти rectangle-ро созем:

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

Баландиро тағйир диҳем:

typescriptrectangle.height = 150;

Акнун паҳнӣро тағйир диҳем ва хаторо мебинем, зеро паҳнӣ ҳамчун тағйирнопазир эълон шудааст:

typescriptrectangle.width = 400; // хато
Задание 1

Интерфейси IUser-ро созед, ки дар он хусусияти salary фақат барои хондан дастрас бошад.