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; // エラー
プロパティ salary が読み取り専用となるインターフェース IUser を作成してください。