Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Задачи

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

Назад
Вопрос про TypeScript: TypeScript, constructor, public, parameter property, class

Что означает модификатор public перед полем в конструкторе класса?

Вопрос проверяет понимание синтаксического сахара TypeScript для автоматического создания и инициализации свойств класса через конструктор.

Короткий ответ

Модификатор public перед параметром конструктора в TypeScript автоматически создает и инициализирует публичное свойство класса с тем же именем. Это сокращает код, избавляя от ручного объявления поля и присваивания значения. Такой синтаксис называется parameter property и доступен только в TypeScript, не в JavaScript.

Длинный ответ

Что такое parameter property в TypeScript

Когда вы пишете constructor(public name: string), TypeScript автоматически создает публичное свойство name в классе и присваивает ему переданное значение. Это эквивалентно ручному объявлению поля и присваиванию в теле конструктора.

Пример сравнения

Без синтаксического сахара:

class Person {
  public name: string;
  constructor(name: string) {
    this.name = name;
  }
}

С parameter property:

class Person {
  constructor(public name: string) {}
}

Оба варианта идентичны после компиляции. Модификаторы private, protected и readonly также работают аналогично.

Где применяется

  • В классах с простыми конструкторами, где нужно быстро объявить и инициализировать поля.
  • В DI-контейнерах (например, Angular, NestJS) для инжекции зависимостей через конструктор.

Вывод

Используйте parameter properties для сокращения шаблонного кода, когда поле класса напрямую соответствует параметру конструктора. Это улучшает читаемость и уменьшает вероятность ошибок при ручном присваивании.

Frontend developer

tech
tech
tech
tech
tech
tech
tech
tech
tech

Ментор по Frontend

Полное сопровождение до оффера — без дорогих курсов, с оплатой после трудоустройства

Записаться на консультацию

Уровень

  • Рейтинг:

    4

  • Сложность:

    3

Навыки

  • TypeScript

    TypeScript

Ключевые слова

#TypeScript

#constructor

#public

#parameter property

#class

Подпишись на React Developer в телеграм

Frontend developer

tech
tech
tech
tech
tech
tech
tech
tech
tech

Ментор по Frontend

Полное сопровождение до оффера — без дорогих курсов, с оплатой после трудоустройства

Записаться на консультацию