АКЦИЯ: бесплатные месячные курсы по созданию сайтов
на выбор: верстка, JavaScript, PHP, Python и фреймворки. Сегодня последний день для записи! Жми!
⊗tsSpOpAcs 13 of 37 menu
Бесплатные курсы по Git. Начинаем, когда соберется 1000 желающих:) Жми для записи!

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

enru