Чем в классах JavaScript по функционалу различаются constructor и set? Почему при описании класса должно присутствовать и то, и другое? И для чего нужно _dogName, если есть просто dogName?class Dog
{
constructor(dogName)
{
this.dogName = dogName;
}
set dogName(value)
{
this._dogName = value;
}
get dogName()
{
return this._dogName;
}
}
let dog = new Dog("Rex");
console.log(dog.dogName);

21 Авг 2019 в 07:01
198 +1
1
Ответы
1

Constructor в JavaScript используется для создания экземпляра класса и инициализации его свойств. Set и get, с другой стороны, используются для установки и получения значений свойств объекта соответственно.

При описании класса оба метода могут быть полезными, так как constructor позволяет инициализировать объект при его создании, а set и get позволяют контролировать доступ к свойствам объекта и выполнять какую-то логику при их установке и получении.

В данном случае, _dogName используется для хранения значения свойства dogName и предотвращения возможной ошибки при вызове getter или setter методов. При этом dogName используется для доступа к значению свойства с помощью геттера и сеттера, который контролирует доступ к значению.

Поэтому использование как обычного свойства (dogName) так и "скрытого" свойства ( _dogName) в данном случае обеспечивает более гибкую и контролируемую работу с данными внутри объекта.

20 Апр в 13:09
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 95 117 авторам
Первые отклики появятся уже в течение 10 минут
Прямой эфир