해당 포스팅은 위키북스의 모던 자바스크립트 Deep Dive라는 책을 독학하며 기록하는 글입니다.

Set

Set 객체는 중복되지 않는 유일한 값들의 집합이다. 배열과 유사하지만 중복된 값을 저장할 수 없고, 요소의 순서에 의미가 없으면 인덱스로 접근이 불가능하다.

생성

new 연사자와 함께 Set 생성자 함수를 통해 생성한다.

const myset = new Set();

인수로는 이터러블을 받으며 아무런 값을 전달하지 않으면 빈 Set객체가 만들어진다.

프로퍼티

  1. Set.size
    Set객체에 몇 개의 요소가 포함되어 있는지를 반환하는 프로퍼티로 getter 함수만 존재하기 때문에 사용자가 임의로 숫자를 할당하여 바꿀 수 없다.

메서드

  1. Set.add(인수)
    인수로 들어온 값을 Set객체에 추가하고 새로운 Set객체를 반환한다. 이때 중복된 값이라면 무시된다. 자바스크립트의 모든 값을 요소로 저장할 수 있다.

  2. Set.has(인수)
    해당 Set객체에 인수로 들어온 요소가 있는지 검사해 존재여부를 불리언 값으로 반환한다.

  3. Set.delete(인수)
    해당 Set객체에서 인수로 들어온 요소를 삭제하고 삭제 성공 여부를 반환한다. 이때 없는 요소를 삭제해도 에러가 발생되지 않고 false를 반환한다.

  4. Set.clear()
    해당 Set객체에 들어있는 모든 요소를 삭제하고 undefined를 반환한다.

  5. Set1.intersection(Set2)
    Set1과 Set2의 교집합인 Set객체를 반환한다.

  6. Set1.union(Set2)
    Set1과 Set2의 합집합인 Set객체를 반환한다.

  7. Set1.difference(Set2)
    Set1에 대한 Set2의 차집합(Set1에만 있고 Set2에는 없는)인 Set객체를 반환한다.

  8. Set1.isSuperset(Set2)
    Set1이 Set2의 상위집합인지, Set2가 Set1의 부분집합인지를 불리언값으로 반환한다.

Map

Map 객체는 키와 값의 쌍으로 이루어진 컬렉션이다. 이는 객체와 유사하지만 객체와 다르게 키로 객체를 포함한 모든 값을 사용할 수 있으며 이터러블이다.

생성

Set과 마찬가지로 이터러블을 인수로 전달받아 new연산자와 함께 Map 생성자함수로 생성한다. 또한 인수로 아무것도 전달하지 않으면 빈 Map객체가 생성된다.

const myMap = new Map();

프로퍼티

  1. Map.size
    Map객체에 몇 개의 요소가 포함되어 있는지를 반환하는 프로퍼티로 getter 함수만 존재하기 때문에 사용자가 임의로 숫자를 할당하여 바꿀 수 없다.

메서드

  1. Map.set(인수)
    인수로 들어온 값을 Map객체에 추가하고 새로운 Map객체를 반환한다. 이때 키가 중복된 값이라면 해당 키에 존재하던 값이 덮어써진다. 자바스크립트의 모든 값을 키로 지정할 수 있다.
// myMap이라는 Map객체에 키가 mykey, 값이 superkey인 요소를 추가
myMap.set('mykey', 'superkey');
  1. Map.get(인수)
    해당 Map객체에서 인수로 들어온 값을 키로 갖는 요소를 찾아 해당 요소의 값을 반환한다. 만약 없는 요소라면 undefined를 반환한다.

  2. Map.has(인수)
    해당 Map객체에 인수로 들어온 값을 키로 갖는 요소가 있는지 검사해 존재여부를 불리언 값으로 반환한다.

  3. Map.delete(인수)
    해당 Map객체에서 인수로 들어온 값을 키로 갖는 요소를 삭제하고 삭제 성공 여부를 반환한다. 이때 없는 요소를 삭제해도 에러가 발생되지 않고 false를 반환한다.

  4. Map.clear()
    해당 Map객체에 들어있는 모든 요소를 삭제하고 undefined를 반환한다.

  5. Map.keys()
    해당 Map객체에서 요소들의 키들을 값으로 갖는 이터러블이자 동시에 이터레이터인 객체를 반환한다.

  6. Map.values()
    해당 Map객체에서 요소들의 값들을 값으로 갖는 이터러블이자 동시에 이터레이터인 객체를 반환한다.

  7. Map.entries()
    해당 Map객체에서 요소들의 키와 값의 쌍들을 값으로 갖는 이터러블이자 동시에 이터레이터인 객체를 반환한다.

profile
I Will be Relaxed Person

0개의 댓글