ミュータブル
mutable
変更可能の意味
immutable
変更不可能の意味
c#
値型と参照型とミュータブルとイミュータブルと - Qiita
immutable雑にいって読み取り専用という意味
stringは参照型だが、プロパティがイミュータブルである
transformのpositionはVector3はイミュータブル
JS
ミュータブルな型とイミュータブルな型の相違を知ろう - Qiita
あってるの...?
破壊的なメソッド
プロパティを変更するメソッドのこと
非破壊的なメソッド
プロパティを変更しないメソッド
そのため、値を変更したい場合は、新たにインスタンスを作ることになる
副作用
https://ja.wikipedia.org/wiki/副作用_(プログラム)
状態を暗黙に変更(破壊的メソッド)すること
状態管理はイミュータブルにするとよいらしい
「オブジェクトをイミュータブルにしろ」って言うけど、それってたとえば状態が変わったらオブジェクト作り直すってことでしょ、ちょう非効率じゃん。って思ってたんだけど、 - 猫型の蓄音機は 1 分間に 45 回にゃあと鳴く
インスタンスの持っているフィールドを変更したら、思いよらないのとこも変わってしまった!
オブジェクトのフィールドがすべてイミュータブルだったら、↑は起きない
#Programming