ミュータブル
mutable
変更可能の意味
immutable
変更不可能の意味
c#
immutable雑にいって読み取り専用という意味
stringは参照型だが、プロパティがイミュータブルである
transformのpositionはVector3はイミュータブル
JS
あってるの...?
破壊的なメソッド
プロパティを変更するメソッドのこと
非破壊的なメソッド
プロパティを変更しないメソッド
そのため、値を変更したい場合は、新たにインスタンスを作ることになる
副作用
状態を暗黙に変更(破壊的メソッド)すること
状態管理はイミュータブルにするとよいらしい
インスタンスの持っているフィールドを変更したら、思いよらないのとこも変わってしまった!
オブジェクトのフィールドがすべてイミュータブルだったら、↑は起きない