Vain luku -ominaisuudet rajapinnassa TypeScriptissä

Vain luku -ominaisuudet asetetaan vain kerran objektin luomisen yhteydessä. Niitä ei voi muuttaa myöhemmin. Näiden ominaisuuksien määrittelyyn käytetään avainsanaa readonly.

Otetaan rajapinta IFigure, joka luotiin edellisessä oppitunnissa. Mutta nyt asetetaan ominaisuudelle width vain luku -oikeus:

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

Luodaan objekti rectangle:

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

Muutetaan korkeus:

typescriptrectangle.height = 150;

Yritetään nyt muuttaa leveyttä ja näemme virheen, sillä leveydeksi on määritelty muuttumaton:

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

Luo rajapinta IUser, jossa ominaisuus salary on vain luku -oikeudella.