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:
interface IFigure {
height: number;
readonly width: number;
}
Luodaan objekti rectangle:
let rectangle: IFigure = {
height: 200,
width: 300
}
Muutetaan korkeus:
rectangle.height = 150;
Yritetään nyt muuttaa leveyttä ja näemme virheen, sillä leveydeksi on määritelty muuttumaton:
rectangle.width = 400; // virhe
Luo rajapinta IUser, jossa
ominaisuus salary on vain luku -oikeudella.