const updateLikability = { ...someoneSpecial,
likability: {...someoneSpecial.likability, funnyRating:increaseLikabilityByFunnyJoke }
気になるあの子の好感度を更新してゆきたいと思います。
まず、気になるあの子(someoneSpecial)の現在の状態を
スプレッド演算子を用いてコピーします。
このコピーは表面的なもので、内部のlikabilityオブジェクトは元のsomeoneSpecialからの参照として保持されています。
次に好感度オブジェクト(someoneSpecial.likability)もコピーしておいて、その中の面白さプロパティを新しい値(increaseLikabilityByFunnyJoke)で更新しています。
以上で「ノリの良い軽口であの子を笑わせて自分の好感度を上げる」オブジェクトを作ることができました。
現実世界で実行可能なオブジェクトであればいいのに。