Ответ
public, private и protected — это модификаторы доступа в ООП, определяющие видимость свойств и методов класса.
- public: Доступен отовсюду (внутри класса, в наследниках и извне).
class Animal {
public name = 'Dog'; // Доступно везде
}
- private: Доступен только внутри класса, где объявлен. Не наследуется.
class Animal {
private secret = '123'; // Только внутри Animal
}
- protected: Доступен внутри класса и его наследников, но не извне.
class Animal {
protected age = 5; // Animal + наследники
}
В JavaScript (до ES2022) приватность эмулируется через _ (соглашение), но с # появилась настоящая приватность. В TypeScript эти модификаторы работают на уровне типов.