Skip to main content

Що робить модифікатор доступу public?

Модифікатор public у TypeScript - це найвідкритіший рівень доступу. Він робить властивість або метод доступними звідусіль:

  • зсередини класу,
  • з його нащадків,
  • і ззовні, через екземпляр класу.

1. Синтаксис

javascript
class User { public name: string; public constructor(name: string) { this.name = name; } public greet(): void { console.log(`Hello, ${this.name}!`); } }

Модифікатор public можна не писати, він використовується за замовчуванням.


2. Приклад використання

javascript
class User { public name: string; public age: number; constructor(name: string, age: number) { this.name = name; this.age = age; } public greet() { console.log(`Hi, I'm ${this.name}, ${this.age} years old.`); } } const user = new User("Tim", 25); user.name = "Alex"; // доступний user.greet(); // доступний

Властивості й методи public можна вільно читати, змінювати і викликати ззовні класу.


3. Доступ усередині та поза класом

Звідки звертаємосяДоступ до public
Усередині класуТак
У нащадкуТак
Ззовні (через екземпляр)Так

4. Модифікатор public у параметрах конструктора

Скорочена форма оголошення:

javascript
class User { constructor(public name: string, public age: number) {} } const u = new User("Tim", 30); console.log(u.name); // Tim

TypeScript автоматично створює поля name і age та присвоює їм передані значення.


5. За замовчуванням усе public

Якщо не вказати модифікатор, поведінка буде такою самою:

javascript
class User { name: string; // це public за замовчуванням greet() {} }

6. Порівняння з іншими модифікаторами

МодифікаторВидимістьЧи можна використовувати поза класом?
publicСкрізьТак
privateТільки всередині класуНі
protectedУ класі та нащадкахНі

Підсумок

public:

  • Доступний скрізь (усередині, ззовні, у нащадках);
  • Використовується за замовчуванням;
  • Можна ставити перед властивостями, методами і параметрами конструктора;
  • Дозволяє явно вказати, що член класу є частиною відкритого інтерфейсу класу.

Просто запам'ятай:

public = "доступно всім".

Коротка відповідь

Для співбесіди
Premium

Коротка відповідь допоможе вам впевнено відповідати на цю тему під час співбесіди.