offline version v3
Запись на курсы по HTML, CSS, JavaScript, PHP, фреймворкам и CMS,
а также: помощь в поиске работы и заказов, стажировка на реальных проектах→
⊗tsSpOpAcs 13 of 28 menu

Аксессоры в ООП в TypeScript

Также, как и в чистом JavaScript, в TypeScript можно делать аксессоры свойств: геттеры и сеттеры.

В TypeScript, однако, имена аксессоров не должны совпадать с именами свойств. Давайте посмотрим на практике. Сделаем аксессоры для приватного свойства name. Если имена для аксессоров дать тоже name, то такой код выдаст ошибку:

class User { private name: string = ''; public set name(name: string) { // выдаст ошибку this.name = name; } public get name(): string { return this.name; } }

Исправим проблему, например, переименовав приватное свойство:

class User { private _name: string = ''; public set name(name: string) { this._name = name; } public get name(): string { return this._name; } }

Сделайте класс User, содержащий приватные свойства с именем и возрастом. Сделайте аксессоры этих свойств.

Модифицируйте сеттер возраста так, чтобы можно было задать возраст от 0 до 120. Если же будет указано иное значение, должно выбрасываться исключение.