Хусусиятҳои фақат барои хондан дар интерфейс дар 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 фақат барои хондан
дастрас бошад.