Map, Set, weakMap, weakSet객체가 실제 프로젝트에서도 자주 사용되는지 궁금합니다.

ES6에서 등장한 문법인 Map, Set, weakMap, weakSet객체가
현업에서도 자주 사용되는지 궁금해서 질문드립니다.

혹시 활용된다면 구체적으로 어떤 상황에서
어떤 장점이 있어서 활용되는지 알 수 있을까요?

제가 아직 주니어라,
어떻게 동작하는 문법인지는 알겠는데

다양한 상황들을 경험해보질 못해서인지
활용처(?)가 제대로 와닿지가 않습니다…;;

  1. Map
    JSON 대용으로 사용하게 되지만 아무래도 실무에 익숙한 JSON보다는 활용도가 낮을 것 같군요.
    말 그대로 JSON 대용으로 활용하면 됩니다.
  2. Set
    그나마 실무에서 쓰기 좋을 것으로 봅니다. JSON으로 유일 키 모을 만들기보다는 쉬울 테니까요.
    중복이 허용되지 않고 추가와 삭제가 쉽기 때문에 배열 대용으로 쓸 수도 있습니다.
  3. WeakMap
    자바스크립트에서 객체를 키로 지정할 만한 요소가 별로 없습니다. 당장 Symbol도 잘 안쓰죠.
    그나마 쓸 곳이 있다면… 클래스가 있겠군요. 컴포넌트 기반의 react나 vue 같은 컴포넌트 키 당 데이터를 넣을 때 쓸 만 하겠군요.
  4. WeakSet
    Set 과 같이 여러 객체도 쓸 수 있으니 그나마 활용도가 좀 생기지 않을까 싶습니다. 라우팅이라면 어떨까요? 라우팅은 중복되면 안 되겠죠? react나 vue 기반에서도 라우팅을 객체로 관리하니까요.
1개의 좋아요

감사합니다! 각각 구체적인 사례를 말씀해주셔서 이해하기 훨씬 편해졌습니다! :slight_smile:

저는 Map 종종 활용합니다. 타입스크립트 쓸 때 Map은 key의 타입을 명확히 설정할 수 있어서 좋아요.