📝

データの不変性の有用性

2023/03/03に公開

元データを残しつつ新しいデータを作成する方法(コピー)

※現時点では配列のみだが、今後学習し次第追記する。

  • データの直接的な変更を回避することで、以前のバージョンのデータをそのまま保持し、後で再利用(orリセット)が可能になる。

配列の書き換え方法は以下の2通り

const foo = [null, null, null, null, null, null, null, null,];
foo[0] = "updated";
console.log(foo);
//["updated", null, null, null, null, null, null, null,]

上記の方法ではoriginal配列のデータそのものを変更している。

const foo = [null, null, null, null, null, null, null, null,];
const newFoo = foo.slice();
newFoo[0] = "updated";
console.log(foo);
//[null, null, null, null, null, null, null, null,];
console.log(newFoo);
//["updated", null, null, null, null, null, null, null,]

このように元データの値を残しておくと過去の動きにジャンプする機能の実装や、特定のアクションを元に戻したりやり直したりする機能を作成可能。

Discussion