[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()
를 사용하면 객체나 리스트의 값을 편리하게 업데이트할 수 있습니다. 이를 통해 불변성을 유지하면서 데이터를 수정하는 작업을 간단하게 처리할 수 있습니다.