EC 6 새로운 데이터 타입은 Set()에 대하여 알아봅니다. EC 6에서는 Map(), WeakMap(), Set(), WeakSet()의 새로운 데이터구조가 있죠. 이중 Set()에 대하여 간략하게 알아봅니다.


! Set() 특징
  • Key / Value 방식의 사용이 가능
  • NaN을 포함한 모든 타입의 값 저장이 가능
  • 동일한 값의 선언은 불가함


! Set() 선언
값을 선언할 경우 아래와 같이 선업합니다.

test = new Set();  //  빈값을 선언

test = new Set().add('web').add('is').add('free');
제이쿼리처럼 Data Chaning 방식이 사용 가능

test = newSet(['web', 'is', 'free'])  //  배열로 여러개의 값 선언


!! 동일한 값 선언은 불가
test.add('1');
test.add('12');
test.add('1');

test.size();  //  2를 return함

아래는 조작 방법에 대하여 알아봅니다.


! Set() 조작하기

test.has();
여부에 따라 Boolean 값을 반환

test.add();
값을 추가함

test.clear();
전체 값을 비움

test.size();
현재 가진 값의 count를 반환함

test = new Set([1, 2, 3, 4]);
test.size();

4  //  4를 반환함


! Set() 반복문 사용(iterating)
반복문 loop를 사용하기 위한 for()문 예제입니다. of 키워드를 사용합니다.

let test = new Set(['web', 'is', 'free']);
for (value of test) {
  console.log(value);
}


실행하면 아래의 결과가 나타납니다.

web
is
free


여기까지 알아보았습니다. 기존의 객체만으로도 많은 것을 할 수 있으나 Set()을 사용하면 key / value 형태로 값을 조작할 수 있다는 것이 가장 큰 장점 같습니다. 또 다른 장점이 더 Java처럼 다룰 수 있다(?)라고 하네요.