почему скрытые, просто неизменные, есть же такая практика
Даже если так, насколько это стоит того?
смотря в какой ситуации - что нужно. например если объект с константами, которые трогать не надо
И зачем их трогать?
защита от дураков, как я, хз
Я тоже хз. Все стремятся скрывать данные чтобы некие дураки их не изменили.
class ClassWithPrivateAccessor { #message get #decoratedMessage() { return ✨${this.#message}✨; } set #decoratedMessage(msg) { this.#message = msg; } constructor() { this.#decoratedMessage = 'hello world'; console.log(this.#decoratedMessage); } } new ClassWithPrivateAccessor(); // expected output: "✨hello world✨"
классы ради классов, обожаю
это пример с мдн, кстати
ну там чтоб суть донести, я так понимаю
ну да, что зверь никуда не сможет свою торпеду сунуть
Не совсем. У класса может быть внутренняя логика и внешняя Вот ты класс, у тебя есть методы есть, пить, ходить, спать, и т.п. А так же есть методы переварить еду/жидкость, запустить сон, проснутся, уснуть Тебе напрямую эти методы не нужны, они являются теми частями кода которые были декомпозированы и напрямую не должны исполтзоватся и не нужны для прямого использования, вот они и приватные Фактично в этом есть 3 роли 1 - скрыть от дурака, да 2 - отделить внешний интерфейс взаимодействия от внутреннего 3 - фактично самодокументация что можно юзать а что нет Все это легче понять на больших проектах и сложных структурах, сервисах т.к. для малкньких проектов, классов это не имеет много смысла Можно ознакомится с паттернами GoF, после них некоторые вещи в ооп проясняються на практике
Самодокументация в плане "разрешено всё что не запрещено"?
Обсуждают сегодня