[javascript] Immutable.js에서 제공하는 데이터 추출 메소드에는 어떤 것들이 있나요?

Immutable.js는 JavaScript를 위한 불변성 라이브러리로, 데이터의 변경을 효율적으로 관리합니다. Immutable.js는 다양한 데이터 추출 메소드를 제공하여 데이터의 불변성을 유지하면서 필요한 정보를 추출할 수 있습니다.

  1. .get(key, [defaultValue]): 주어진 키에 해당하는 값을 반환합니다. 만약 주어진 키가 존재하지 않을 경우, defaultValue 값을 반환합니다. 예시:
    const map = Immutable.Map({name: 'John', age: 30});
    const name = map.get('name'); // 'John'
    const gender = map.get('gender', 'Unknown'); // 'Unknown'
    
  2. .getIn(keys, [defaultValue]): 주어진 키 경로에 따라 값을 반환합니다. keys는 배열로 구성되며, 배열의 각 요소는 해당 키에 따른 중첩된 맵이나 리스트를 나타냅니다. 예시:
    const map = Immutable.Map({person: {name: 'John', age: 30}});
    const name = map.getIn(['person', 'name']); // 'John'
    const gender = map.getIn(['person', 'gender'], 'Unknown'); // 'Unknown'
    
  3. .has(key): 주어진 키가 존재하는지 확인합니다. 만약 주어진 키가 존재한다면 true를 반환하고, 그렇지 않다면 false를 반환합니다. 예시:
    const map = Immutable.Map({name: 'John', age: 30});
    const hasName = map.has('name'); // true
    const hasGender = map.has('gender'); // false
    
  4. .hasIn(keys): 주어진 키 경로가 존재하는지 확인합니다. keys는 배열로 구성되며, 배열의 각 요소는 해당 키에 따른 중첩된 맵이나 리스트를 나타냅니다. 예시:
    const map = Immutable.Map({person: {name: 'John', age: 30}});
    const hasName = map.hasIn(['person', 'name']); // true
    const hasGender = map.hasIn(['person', 'gender']); // false
    

위의 메소드들을 사용하여 Immutable.js로 데이터를 추출하면, 데이터의 불변성을 유지할 수 있으면서 필요한 정보를 다룰 수 있습니다.