[javascript] Immutable.js에서 제공하는 업데이트 연산자를 사용하는 방법은 어떻게 되나요?

업데이트 연산자는 set, merge, update 세 가지가 있습니다.

1. set()

set() 메서드를 사용하면 데이터의 특정 키를 업데이트할 수 있습니다. 이 메서드는 새로운 값을 할당하는 방식으로 작동합니다.

예를 들어, 다음과 같이 객체를 생성한 후 set() 메서드를 사용하여 특정 키를 업데이트할 수 있습니다.

const { Map } = require('immutable');

const data = Map({
  name: 'John',
  age: 25,
  email: 'john@example.com'
});

const newData = data.set('age', 26);
console.log(newData.get('age')); // 26

위의 예시에서 set() 메서드를 사용하여 age 키를 업데이트하였습니다.

2. merge()

merge() 메서드를 사용하면 해당 객체와 다른 객체를 병합하여 업데이트할 수 있습니다. 이 메서드는 병합된 새로운 객체를 반환합니다.

다음 예제에서는 merge() 메서드를 사용하여 객체에 새로운 키와 값을 추가하고 기존의 키의 값을 업데이트합니다.

const { Map } = require('immutable');

const data = Map({
  name: 'John',
  age: 25,
  email: 'john@example.com'
});

const newData = data.merge({
  age: 26,
  gender: 'male'
});

console.log(newData.toObject());
// { name: 'John', age: 26, email: 'john@example.com', gender: 'male' }

위의 예시에서 merge() 메서드를 사용하여 age 키의 값을 업데이트하고 새로운 gender 키와 값을 추가하였습니다.

3. update()

update() 메서드를 사용하면 데이터의 특정 키에 함수를 적용하여 업데이트할 수 있습니다. 이 메서드는 이전 값과 새 값을 매개변수로 받는 함수를 사용합니다.

다음 예제에서는 update() 메서드를 사용하여 age 키의 값을 1 증가시킵니다.

const { Map } = require('immutable');

const data = Map({
  name: 'John',
  age: 25,
  email: 'john@example.com'
});

const newData = data.update('age', (value) => value + 1);
console.log(newData.get('age')); // 26

위의 예시에서 update() 메서드를 사용하여 age 키의 값을 1 증가시켰습니다.

Immutable.js에서 제공하는 업데이트 연산자인 set(), merge(), update()를 사용하면 객체나 리스트의 값을 편리하게 업데이트할 수 있습니다. 이를 통해 불변성을 유지하면서 데이터를 수정하는 작업을 간단하게 처리할 수 있습니다.