У меня не работает сеттор,скажите почему?

let dom = {
  number: 8,
  get sort(){
   return this.number;
  },
  set sort(value){
    if(value >= 0 && value <= 4){
      this.number = value;
    }else{
      console.log("Число должно быть меньше 4");
    }
  }
};

console.log(dom.sort);
  


Ответы (3 шт):

Автор решения: Dew Who Devs
let dom = {
  number: 8,
  get sort(){
   return this.number;
  },
  set sort(value){
    if(value >= 0 && value <= 4){
      this.number = value;
    } else {
      console.log("Число должно быть меньше 4")
    }
  }
};

console.log(dom.sort);
dom.sort = 5;
console.log(dom.sort);

У вас dom.sort = 3 - а это меньше 4, по этому условие true

→ Ссылка
Автор решения: Igor

let dom = {
  number: 8,
  get sort(){
    if(this.number >= 0 && this.number <= 4){
      return this.number;
    }else{
      return "Число должно быть меньше 4";
    }
  },
  set sort(value){
    if(value >= 0 && value <= 4){
      this.number = value;
    }else{
      console.log("Число должно быть меньше 4");
    }
  }
};

console.log(dom.sort);

→ Ссылка
Автор решения: CoderMotive

СОКРАЩЕННЫЙ ВАРИАНТ

let dom = {
  number: 8,
  get sort(){
    if(this.number >= 0 && this.number <= 4){
      return this.number;
    }else{
      return "Число должно быть меньше 4";
    }
  },
};

console.log(dom.sort);
→ Ссылка