Immutability
イミュータビリティ(Immutability、不変性)とは、オブジェクトを作成後に変更できない性質である。変更操作は新しいオブジェクトを返し、共有状態の競合を排除する。
目的
副作用と競合を排除し、並行処理と状態追跡を簡素化する——関数型プログラミングの中核である。
メカニズム
変更はその場で書き換える代わりに新しいコピーを返す。構造共有(永続データ構造)が全コピーを避ける。React はイミュータブルな状態に依存して変更を検出する。Rust の所有権は既定でイミュータブルである。
ユースケース
- コンカレント処理の安全性
- ステート管理
- 関数型プログラミング