1. [자바스크립트] Map 객체
ㅇ 연상 배열(키,값의 쌍)을 관리하기 위한 컬렉션 객체
- 데이터를 키,값의 쌍으로 보고,
- 타입 제한 없이, 데이터 관점으로 만 다룸
ㅇ 특징
* Object 객체 처럼 키 값 쌍으로 구성되나, 이와는 달리,
- 중괄호 {} 대신 항상 명시적으로 인스턴스를 생성해야 함
. 例) let newMap = new Map();
- 저장되는 순서대로 기억되고, 반복 가능
. 반복은, Iterator를 통해 Map 객체 내부를 순환하는 것임
. 내부에 Symbol.iterator가 기본적으로 정의되어있음
- 키가 꼭 문자열이 아니라, 어떤 값이어도 상관없음
. 문자형,숫자형,배열,객체,함수도 가능
- size 속성이 있어서, 항상 크기 체크 가능
- 여러 편리한 메소드 제공
ㅇ 메소드
- 설정하기 : set(key,value)
- 가져오기 : get(key)
- 키 존재 확인 : has(key)
- 해당 키 지움 : delete(key)
- 전부 초기화 : clear()
- 키 값 쌍으로 반환 : 반복자(Iterator) 형태로 반환
. entries() : 키 값 쌍을 반환
.. Map Iterator : { [key1,val1],[key2,val2], ... }
. keys() : 키 만을 반환
.. Map Iterator : { key1,key2, ... }
. values() : 값 만을 반환
.. Map Iterator : { val1,val2, ... }
- forEach(callback)
ㅇ 프로퍼티
- size : 항목들의 현재 개수 (정수 속성)
2. [자바스크립트] Set 객체
ㅇ 비 중복 값들의 집합을 다루기 위한, 값으로 만 이루어진 값의 집합체인, 컬렉션 객체
- 데이터를 중복되지 않은 값들의 단순한 집합으로 간주
ㅇ 가능한 요소 값 유형(타입)
- 문자형,숫자형,배열,객체,함수 등
ㅇ 메소드
- 삽입 : add(value)
. 例) var exampleSet = new Set(); exampleSet.add(1); exampleSet.add(2); // {1,2}
- 삭제
. clear() : 요소 전부 삭제
. delete(value) : 불리언 값 (true : 삭제 성공,false: 삭제 실패)을 반환
- 포함 : has(value)
- 열거(반복) ☞ Iterable Object(이터러블 객체) 참조
. 나열 : keys(), values(), entries()
.. values() : 각 요소 값들을 배열로 반환
. 순환
.. forEach(callback) : 각 요소 값에 대해 콜백함수로 처리 실행
.. for of
ㅇ 프로퍼티
- size (집합 내 항목들의 현재 개수)라는 정수 속성 하나 만 있음
ㅇ 초기화
- 例) 빈 Set 객체의 생성 : const tempSet = new Set();
. tempSet.add('one'); tempSet.add('two'); tempSet.has('one'); // => true
- 例) const tempSet = new Set([2,4,7]);
. tempSet.size(); // => 3