私は JavaScript のゲッターとセッターにかなり精通していますが、現在の動作については少し混乱しています。これが私のコードです:
function u0(n) {
return {
get count() { return ++n; },
set count(m) { m = n; }
}
}
v0 = u0(10); //start with 10
console.log(v0.count); //11: increase by 1
console.log(v0.count); //12: increase by 1
console.log(v0.count); //13: increase by 1
console.log(v0.count = 0); //set back to 0
console.log(v0.count); //14?
メソッドを呼び出してcount
設定すると、カウントがリセットされてゼロに戻りますが、count
メソッドを設定せずに再度呼び出すと、中断したところから再開されます。count メソッドを設定すると、 に設定されるという印象を受けましn
た0
。
を設定したときにcount
リセットされるのではなく、中断したところから再開されるのはなぜですか?0
count