자바스크립트에서 효과적인 불변 데이터 구조 설계하기

목차

  1. 불변 데이터의 중요성
  2. 불변 데이터 구조 설계 패턴
  3. 예시 코드
  4. 참고 자료

불변 데이터의 중요성

불변 데이터는 수정할 수 없는 데이터를 의미합니다. 자바스크립트에서 불변 데이터를 사용하면 다음과 같은 장점이 있습니다.

불변 데이터 구조 설계 패턴

다음은 자바스크립트에서 효과적인 불변 데이터 구조 설계를 위해 사용할 수 있는 패턴입니다.

1. 객체 복사

객체를 복사하여 변경 사항이 원래 객체에 영향을 미치지 않도록 합니다.

const obj = { value: 10 };
const newObj = { ...obj, value: 20 };

2. 배열 복사

배열을 복사하여 변경 사항이 원래 배열에 영향을 미치지 않도록 합니다.

const arr = [1, 2, 3];
const newArr = [...arr, 4];

3. 참조 대신 값 사용

원시값을 사용하여 참조 대신 값을 직접 저장합니다.

const value = 10;

4. Immutable.js 사용

Immutable.js는 자바스크립트에서 불변 데이터를 다루기 위한 라이브러리입니다. 이를 사용하면 효과적으로 불변 데이터 구조를 설계할 수 있습니다.

import { List, Map } from 'immutable';

const list = List([1, 2, 3]);
const newList = list.push(4);

const map = Map({ key: 'value' });
const newMap = map.set('key', 'new value');

예시 코드

다음은 불변 데이터 구조를 설계하는 예시 코드입니다.

class Person {
  constructor(name) {
    this._name = name;
  }

  get name() {
    return this._name;
  }
}

const person1 = new Person('John');
const person2 = new Person('Jane');

const people = [person1, person2];
const newPeople = [...people, new Person('Alice')];

참고 자료