# JavaScript 의 새로운 Set 메소드들

> Clean Markdown view of GeekNews topic #15586. Use the original source for factual precision when an external source URL is present.

## Metadata

- GeekNews HTML: [https://news.hada.io/topic?id=15586](https://news.hada.io/topic?id=15586)
- GeekNews Markdown: [https://news.hada.io/topic/15586.md](https://news.hada.io/topic/15586.md)
- Type: news
- Author: [xguru](https://news.hada.io/@xguru)
- Published: 2024-06-29T09:32:02+09:00
- Updated: 2024-06-29T09:32:02+09:00
- Original source: [developer.mozilla.org](https://developer.mozilla.org/en-US/blog/javascript-set-methods/)
- Points: 13
- Comments: 1

## Summary

새로운 JavaScript `Set` 메서드들은 중복 제거, 비교, 교집합, 차집합 등을 최적화된 방법으로 제공하여 직접 구현할 필요를 없애줍니다. 대용량 데이터 처리 시 Array에 비해 성능 이점을 제공하며, 다양한 집합 연산을 간편하게 수행할 수 있습니다. `Set` 메서드들의 실제 사용 예제를 통해 이해를 돕고, 다음 프로젝트에서 효과적으로 활용할 수 있는 방법을 제시합니다.

## Topic Body

- Firefox 127부터 대부분의 주요 브라우저 엔진에서 새로운 `Set` 메서드들을 사용할 수 있게 되어, Polyfill 없이도 어디서나 이 메서드들을 사용 가능  
- 중복 제거, 비교, 교집합, 차집합, 부분집합 등에 최적화된 방법을 제공하므로 직접 구현할 필요가 없어짐   
- 대용량 데이터에서 Array에 비해 성능 측면에서 이점이 있음 (순서가 보장되지 않는 점에 유의만 하면)  
- 새 `Set` 메소드들: `intersection()`, `union()`, `difference()`, `symmetricDifference()`, `isSubsetOf()`, `isSupersetOf()`, `isDisjointFrom()`여부를 나타내는 불리언 값 반환  
  
### JavaScript의 `Set`이란?  
- `Set`은 Array와 유사하지만, 각 값은 한 번만 저장될 수 있음  
- `Set`은 고유한 컬렉션을 만드는 내장된 방법을 제공해주어 편리함  
- Array에 비해 `Set`에서 요소가 있는지 확인하는 것이 일반적으로 더 빠름  
  
### 두 집합의 합집합  
- `union` 메서드를 사용하면 '둘 중 하나 또는 둘 다'에 있는 요소들을 확인할 수 있음  
- 중복을 제거하고, 비교를 수행하기 위한 사용자 지정 구현이 필요하지 않음  
  
### 집합의 교집합  
- `intersection` 메서드를 사용하면 두 집합에서 겹치는 요소를 확인할 수 있음  
- '두 집합 모두에만' 있는 요소들을 강조 표시하는 데 사용할 수 있음  
  
### 집합의 대칭 차집합  
- `symmetricDifference` 메서드는 어느 한 집합에는 있지만 '둘 다'에는 없는 요소들을 확인할 수 있게 해줌  
- `symmetricDifference`는 `intersection`의 반대 논리 연산을 수행함  
  
### 집합의 차집합  
- `difference` 메서드를 사용하면 한 집합에는 있지만 다른 집합에는 없는 요소들을 확인할 수 있음  
- 다른 목록에 나타나지 않는 목록 항목을 강조 표시하는 데 `difference`로 만든 집합을 사용할 수 있음  
  
### 부분집합, 상위집합, 서로소  
- `isSubsetOf()`와 `isSupersetOf()` 메서드는 새로운 집합을 반환하는 것이 아니라 특정 상태나 논리적 검사를 나타내는 불리언 값을 반환함  
- `isDisjointFrom()` 메서드를 사용하면 두 집합이 공통 요소가 없는지 확인할 수 있음  
  
### 요약  
- `Set` 메서드들이 흥미롭고 이해하기에 좋은 개념이라고 생각함  
- 이 메서드들을 실제 예제에서 다른 방식으로 사용하는 방법에 대해 알려주길 바람  
- 다음 프로젝트를 위해 `Set` 메서드들을 잘 활용할 수 있길 바람

## Comments



### Comment 26764

- Author: carnoxen
- Created: 2024-06-29T11:14:14+09:00
- Points: 1

더 "집합"스러운 함수가 추가되었군요
