質問: get() { return this.vel * 2} set(item) { ~~ } ``` このように書くのなら理解できるのですが、 サンプルでは、自分でvalueという変数の用意をしていません。 valueにget()の戻り値がセットされるのは、どのタイミングなのでしょうか? 処理の流れと理由が知りたいです。 また、aの値を更新した場合、bの値も更新されることは理解できるのですが、 bの値を更新した場合、aの値が更新できる理由がわかりません。 処理が戻っているのでしょうか? それとも、this.valが更新されたため、処理全体を再実行しているのでしょうか? 粗末な文章となってしまい大変申し訳ないのですが、これ以上の表現が思い浮かびませんでした。。 ご教授いただけますと幸いです、よろしくお願いいたします。 ### 該当のソースコード ``` ```
回答: > > valueにget()の戻り値がセットされるのは、どのタイミングなのでしょうか? > > > されません。`get()`の返り値は、呼んだ側に渡されるだけです。 > > bの値を更新した場合、aの値が更新できる理由がわかりません。 > > > `b`の`set()`で`this.val`が書き換わるので、同じ`this.val`を参照する`a`を`get()`した値も当然変化します。