Я понимаю важность инкапсуляции в ООП, и методы доступа (геттеры / сеттеры) обеспечивают этот уровень абстракции.
Тем не менее, с помощью Typescript я могу позднее заменить свое свойство средствами доступа с тем же именем и переименовать свое свойство с префиксом подчеркивания (следовательно, не вызывая критических изменений).
Например, я мог бы иметь:
class foo {
name: string;
}
Позже, если я захочу добавить средства доступа к этому свойству, я могу изменить на следующее:
class foo {
private _name: string;
get name():boolean {
return this._name;
}
set name(name: string) {
this._name = name;
}
}
Это считается плохой практикой?
Какова цель средств доступа в этом контексте?