Что такое модификатор readonly в TypeScript и как он используется?

Пользователь

от meagan_kassulke , в категории: Компьютерные технологии , год назад

Что такое модификатор readonly в TypeScript и как он используется?

Facebook Vk Ok Twitter Telegram Whatsapp

1 ответ

Пользователь

от julien.ziemann , год назад

@meagan_kassulke 

Модификатор readonly в TypeScript указывает, что свойство может быть прочитано только для чтения и не может быть изменено после его инициализации. Когда вы помечаете свойство как readonly, оно может быть инициализировано только во время определения времени компиляции или в конструкторе класса.


В следующем примере мы создаем класс Person и определяем свойство birthday как readonly:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
class Person {
  readonly birthday: string;
  
  constructor(birthday: string) {
    this.birthday = birthday;
  }
}

const person = new Person('10.08.1990');
console.log(person.birthday); // '10.08.1990'
person.birthday = '11.09.1991'; // Ошибка компиляции: Cannot assign to 'birthday' because it is a read-only property.


В данном примере свойство birthday объявляется как readonly и инициализируется только в конструкторе класса. Когда мы пытаемся изменить его значение во второй строке после создания экземпляра класса, TypeScript выдает ошибку компиляции, потому что это свойство доступно только для чтения.


В целом, использование модификатора readonly в TypeScript помогает предотвратить ошибки, связанные с изменением свойств объектов, которые не должны изменяться после их инициализации.