Как изменить поле экземпляра класса с false на true
class bin{
constructor()
{
this.param = false;
}
//Как здесь изменить значение param, чтоб экземпляр класса при обращении к этому полю вернул true?
}
Ответы (1 шт):
Автор решения: Roman Lytvynov
→ Ссылка
Насколько я понял, речь идет о простых сеттерах. Если так, то посмотрите решение
class bin{
constructor() {
this.param = false;
}
// для установки конкретного значения
setParam(state) {
this.param = state;
}
// для смены значения
toggleParam() {
this.param = !this.param;
}
}
const bi = new bin();
console.log('После создания экземпляра', bi.param);
bi.setParam(true);
console.log('После вызова setParam', bi.param);
bi.toggleParam();
console.log('После вызова toggleParam', bi.param);
Если же Вам необходимо, чтобы изменение поля имело эффект для всех инстансов, то здесь лучше сделать через статические переменные и методы и обращаться к ним без создания инстанса:
class bin{
static param = false;
// для установки конкретного значения
static setParam(state) {
this.param = state;
}
// для смены значения
static toggleParam() {
this.param = !this.param;
}
}
console.log('Начальное состояние', bin.param);
bin.setParam(true);
console.log('После вызова setParam', bin.param);
bin.toggleParam();
console.log('После вызова toggleParam', bin.param);