Programming

; develop a program

Front-End/JavaScript

[JavaScript] Set 객체

Clloud_ 2023. 6. 13. 09:00
반응형

이번 포스팅에서는 JavaScript의 내장 객체 중 하나인 Set 객체에 대하여 공부를 해보고자 한다.

 


Set이란

JavaScript에서 Set은 중복되지 않는 값들의 집합을 나타내는 내장 객체이다.
Set 객체는 원시 값과 객체 참조를 모두 포함할 수 있다.

 

Set 객체는 값의 순서를 유지한다.

이는 값들이 추가된 순서에 따라 반복될 때 그 순서대로 나타난다는 것을 의미한다.
Set은 값의 삽입 순서에 따라 요소를 반복하기 때문에 정렬된 집합을 유지하려면 별도의 정렬 작업이 필요하다.

Set 객체는 주로 중복을 허용하지 않아야 하는 값들의 집합을 다룰 때 유용하다.

 

Set 객체의 주요 특징 

  • 중복된 값 x
    Set 객체는 동일한 값이 중복되지 않도록 보장한다.
    따라서 동일한 값을 여러 번 추가하더라도 하나의 값만 유지된다.

  • 값의 유형에 관계없이 다양한 유형의 값을 포함
    Set은 원시 값 (문자열, 숫자, 불리언 등) 뿐만 아니라 객체 참조도 포함할 수 있다.

  • 요소 추가, 삭제 및 확인
    Set 객체는 add( ), delete( ), has( ), clear( ) 메서드를 사용하여 요소를 추가, 삭제 및 확인할 수 있다.

  • 반복 가능한 객체
    Set 객체는 for...of 루프를 통해 반복할 수 있다.
    이를 통해 값들을 순차적으로 접근할 수 있다.

  • 요소 개수와 크기
    Set 객체의 요소 개수는 size 속성을 통해 확인할 수 있다.

 


예시

다음은 Set 객체의 예시 코드이다.

// 빈 Set 객체 생성
const set = new Set();

// 값 추가
set.add('Apple');
set.add('Banana');
set.add('Orange');

// 값 삭제
set.delete('Banana');

// 값 확인
console.log(set.has('Apple')); // true

// 요소 개수
console.log(set.size); // 2

// 반복
for (const item of set) {
  console.log(item);
}

 

출력 결과

true
2
Apple
Orange

 


Python의 set 과의 차이점

파이썬의 set과 자바스크립트의 Set 사이에는 몇 가지 차이점이 있다.

 

리터럴 표기법

  • 파이썬의 set은 중괄호 { }를 사용하여 표현할 수 있다.
  • 예를 들어, my_set = {1, 2, 3}와 같이 표현할 수 있다.
  • 반면 JavaScript의 Set은 new Set( ) 생성자를 사용하여 생성해야 한다.

 

정렬

  • 파이썬의 set은 값의 순서를 유지하지 않는다.
  • 집합의 요소들은 자동으로 정렬되거나 추가된 순서에 따라 나열되지 않는다.
  • JavaScript의 Set은 값의 순서를 유지한다.
  • 즉, 값을 추가한 순서대로 반복된다.

 

반복 가능한 객체

  • 파이썬의 set은 반복 가능한 객체이다.
  • 따라서 for 루프를 사용하여 set의 요소에 접근할 수 있다.
  • JavaScript의 Set 역시 반복 가능한 객체이다.
  • for...of 루프를 사용하여 Set의 요소에 접근할 수 있다.

 

타입 제한

  • 파이썬의 set은 다양한 데이터 유형의 요소를 포함할 수 있다.
  • 숫자, 문자열, 튜플, 집합 등을 포함할 수 있다.
  • JavaScript의 Set은 모든 유형의 값(원시 값 및 객체 참조)을 포함할 수 있다.

 

요소 접근

  • 파이썬의 set은 in 키워드를 사용하여 요소의 존재 여부를 확인할 수 있다.
  • JavaScript의 Set은 has( ) 메서드를 사용하여 요소의 존재 여부를 확인할 수 있다.

 

요소 삭제

  • 파이썬의 set은 remove( ) 또는 discard( ) 메서드를 사용하여 요소를 삭제할 수 있다.
  • JavaScript의 Set은 delete( ) 메서드를 사용하여 요소를 삭제할 수 있다.

 

이러한 차이점은 두 언어의 문법과 사용 사례에 따라 다르다.
파이썬의 set과 JavaScript의 Set은 각각 해당 언어의 특성과 사용법에 따라 사용되는 내장 객체이다.

 


반응형

'Front-End > JavaScript' 카테고리의 다른 글

[JavaScript] '===' 연산자 vs '==' 연산자  (0) 2023.06.14
[JavaScript] forEach( ) 함수  (0) 2023.06.14
[JavaScript] Handsontable  (0) 2023.06.06
[JavaScript] 람다 방식(lambda)  (0) 2023.05.31
[JavaScript] this  (0) 2023.05.28