【いみゅーたぶる】
イミュータブル とは?
最終更新:
💡 「一度刻んだら変えられない」石碑のようなデータ
一度作った値やデータを変更できない性質のこと。更新するときは元を変更せず、新しい値やオブジェクトを作る。共有されたデータの意図しない書き換えを防ぐ設計にも役立つ。
📌 このページのポイント
イミュータブルって何のために使うの?
一度作った値やデータが変わらない性質のことだよ。更新するときは新しいものを作る。同じオブジェクトを複数の場所から参照していると、一方で中身を変えると他方にも影響する。元を変更しない設計なら、こうした意図しない書き換えを避けやすくなるんだ。
JavaScriptのconstも同じ意味?
Object.freeze()を使えば、全部変えられなくなる?
毎回データ全体をコピーすると重くならない?
データの大きさや更新方法によるよ。変えない部分を元のデータと共有する「構造的共有」で、全体のコピーを避ける方法もある。Immerは、その仕組みを使いながら更新を書きやすくするライブラリの例だよ。ただし、いつでも軽くなるとは限らず、必要なら実際の処理で測定しよう。
Reactでも元のstateを変更しないのはなぜ?
まとめ:ざっくりこれだけ覚えればOK!
「イミュータブル」って出てきたら「元を変えず、更新には新しい値やデータを作る」と思えばだいたいOK!
📖 おまけ:英語の意味
「Immutable」 = 変更不可能な
💬 「im(否定)+ mutable(変化できる)」。反対語はミュータブル(mutable・変更可能)