-1
я следующий класс:Почему мой геттер каждый раз возвращает другое значение?
class Counter {
constructor(start) {
this.start = start;
}
set start(number) {
this._start = number;
}
get start() {
return this._start++;
}
next() {
return this.start + 1;
}
}
Я его экземпляр следующим образом:
let counter = new Counter(23);
Он отлично работает, если я делаю свою следующую функцию:
counter.next(); // 24
counter.next(); // 25
// ...
Но если выйти start
Я всегда получаю что-то другое
counter.start; // 25;
counter.start; // 26;
Почему это происходит?
Я сделал что-то не так?
'this._start' или' this.start'? – isvforall
Я не думаю, что это реалистичный вопрос. Пользователи вряд ли столкнутся с этой конкретной ситуацией, кроме как в замысловатых обстоятельствах. –
'this._start ++' будет увеличивать 'this._start' каждый раз, когда он вызывается. Ваш код делает то, что он должен. Если вы не хотите увеличивать 'this._start', тогда не используйте' ++ '. – jfriend00