Lee Jaeyoon2
재유니버스
Lee Jaeyoon2
전체 방문자
오늘
어제
  • 분류 전체보기 (228)
    • TIL (165)
    • 생각 (11)
    • 서평 (1)
    • JavaScript & TypeScript (4)
    • React (0)
    • C (45)
    • 에러 핸들링 (1)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • map
  • 코딩 도장
  • 코드숨 리액트 8기
  • JavaScript
  • 객체
  • 회고
  • 플래그
  • C
  • C언어 코딩 도장
  • 실수
  • 코드숨
  • 코드숨 리액트
  • react
  • dotenv
  • dotenv-webpack
  • 변수
  • TiL
  • 5F
  • 심사 문제
  • c언어

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
Lee Jaeyoon2

재유니버스

TIL - 20220707
TIL

TIL - 20220707

2022. 7. 7. 21:07

 오늘은 모던 JavaScript 튜토리얼에서 위크맵과 위크셋(https://ko.javascript.info/weakmap-weakset)에 대하여 공부했다. 작성한 질문은 다음과 같다.

맵과 위크맵의 차이는 다음과 같다.

  1. 맵은 키로 모든 자료형이 가능하지만, 위크맵은 키로 오직 객체만 가능하다.
  2. 위크맵은 반복 작업과 keys(), values(), entries() 메소드를 사용할 수 없다. 따라서, 키나 값을 전체로 받을 수 없다. 왜냐하면, 가비지 컬렉션의 동작 방식 때문이다. 맵에서 키가 객체인 데이터 혹은 셋에서 값의 자료형이 객체인 경우, 참조값을 지워도 지워지지 않은 채로 계속 참조할 수 있기 때문에 이러한 문제를 해결하고자 나온 것이 위크맵과 위크셋이고 가비지 컬렉션의 동작 시점은 자바스크립트 엔진이 결정기에 가비지 컬렉션이 언제 동작할지 사용자는 모를 수밖에 없다. 

위크셋을 만들 때, 주의해야 할 사항은 셋의 특징과 맵과 위크맵의 차이를 떠올리면 된다. 간단하다. 자료형이 객체인 데이터만 저장이 가능하다. 

 

위크맵과 위크셋을 처음 공부할 때, 맵과 셋도 제대로 와닿지 않은 상태로 공부해서 집중이 잘 안 되었고 복습할 때도 처음 보는 것 같은 느낌을 받았는데 하나하나 차근차근 공부해가면서 맵과 셋을 공부한 다음 위크맵과 위크셋을 다시 보니 이래서 위크맵과 위크셋을 공부해야 하는구나라고 스스로 깨닫게 되었다. 위크맵과 위크셋은 추가 데이터를 다룰 때 가장 큰 이점을 갖는다. 어떠한 객체가 살아있을 때만 필요한 데이터가 객체가 필요 없어지면 이에 따른 데이터들도 제거가 필요할 때 사용하기 가장 좋다는 특징을 배웠기에 나중에 비슷한 고민을 하게 된다면 위크맵과 위크셋을 오늘부로 떠올릴 수 있을 것 같다. 

'TIL' 카테고리의 다른 글

TIL - 20220709  (0) 2022.07.09
TIL - 20220708  (0) 2022.07.08
TIL - 20220706  (0) 2022.07.06
TIL - 20220705  (0) 2022.07.05
TIL - 20220704  (0) 2022.07.04
    'TIL' 카테고리의 다른 글
    • TIL - 20220709
    • TIL - 20220708
    • TIL - 20220706
    • TIL - 20220705
    Lee Jaeyoon2
    Lee Jaeyoon2

    티스토리툴바