Как изменить поле экземпляра класса с 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);

→ Ссылка