Как установить значение свойства только для чтения в TypeScript

Чтобы установить значение свойства только для чтения в TypeScript, у вас есть несколько вариантов:

  1. Присвойте значение в конструкторе. Если свойство readonly объявлено внутри класса, вы можете присвоить ему значение в конструкторе. После установки значение нельзя изменить.
class MyClass {
  readonly myProperty: string;
  constructor() {
    this.myProperty = "Hello, World!";
  }
}
  1. Используйте инициализатор. Вы также можете присвоить значение непосредственно в объявлении свойства с помощью инициализатора. Этот подход полезен, когда свойство readonly не требует какой-либо дополнительной логики в конструкторе.
class MyClass {
  readonly myProperty = "Hello, World!";
}
  1. Используйте частный метод установки. Если вам нужен больший контроль над процессом назначения, вы можете объявить частный метод установки, который позволяет только первоначальное назначение свойства только для чтения. После того как свойство задано, его нельзя изменить.
class MyClass {
  private _myProperty: string;
  constructor() {
    this.setMyProperty("Hello, World!");
  }
  get myProperty(): string {
    return this._myProperty;
  }
  private setMyProperty(value: string): void {
    if (!this._myProperty) {
      this._myProperty = value;
    }
  }
}

Эти методы позволяют вам установить значение свойства только для чтения в TypeScript. Помните, что если свойству только для чтения присвоено значение, его нельзя будет впоследствии изменить.