Вопрос проверяет понимание синтаксического сахара 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 также работают аналогично.
Используйте parameter properties для сокращения шаблонного кода, когда поле класса напрямую соответствует параметру конструктора. Это улучшает читаемость и уменьшает вероятность ошибок при ручном присваивании.
Frontend developer
Ментор по Frontend
Полное сопровождение до оффера — без дорогих курсов, с оплатой после трудоустройства
Записаться на консультацию