Как внутри класса лучше создавать и использовать внутренние переменные? Чет сообразить не могу...
Код для примера:
class Voter {
constructor(options) {
Voter.elem = options.elem; // или this.elem? или Voter._elem? или this._elem?
Voter.options = options; // или this.options? или Voter._options? или this._options?
Voter.vote = Voter.elem.querySelector(`.vote`);
Voter.elem.onclick = event => {
if (event.target.closest(`.down`)) {
this._voteDecrease();
} else if (event.target.closest(`.up`)) {
this._voteIncrease();
}
};
Voter.elem.onmousedown = () => false;
}
_voteDecrease() {
Voter.vote.innerHTML = +Voter.vote.innerHTML - 1;
}
_voteIncrease() {
Voter.vote.innerHTML = +Voter.vote.innerHTML + 1;
}
setVote(value) {
Voter.vote.innerHTML = +value;
}
}
class doubleVoter extends Voter {
constructor(options) {
super(options);
}
_voteDecrease() {
Voter.vote.innerHTML = +Voter.vote.innerHTML - Voter.options.steps;
}
_voteIncrease() {
Voter.vote.innerHTML = +Voter.vote.innerHTML + Voter.options.steps;
}
}
let voter = new doubleVoter({
elem: document.body.querySelector(`.voter`),
steps: 2
});
voter.setVote(20);