Аксессоры в ООП в 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. Если же будет указано иное значение, должно выбрасываться исключение.



Чат с GPT Компилятор