Изучаю основы ООП, классы. Столкнулся с проблемой, ответ на который не могу нагуглить (возможно ищу не по тем ключам, так как тема для меня относительно новая). Написал объект с одним приватным свойством и методом для его получения, когда пользователь кликает по одной из двух кнопок выбора пола. Все работает.
let user = {
_sex: '',
setSex: function () {
document.querySelectorAll('.sex-btn').forEach(btn => {
btn.addEventListener('click', () => {
this._sex = btn.value;
});
});
}
};
user.setSex();
Но при попытке создания геттера для класса по аналогии возникли трудности. Не понимаю, как можно сделать установку приватного свойства класса при переборе псевдомассива кнопок или любых других элементов.
class User {
constructor(sex) {
this._sex = sex;
}
set sex(sex) { // откуда будет браться параметр для сеттера не пойму
document.querySelectorAll('.sex-btn').forEach(btn => {
btn.addEventListener('click', () => {
user.sex = btn.value;
});
});
}
get sex() {
return this._sex;
}
}
let user = new User();
user.sex // что сюда передавать тоже не пойму