ES6 - Set、Map、WeakSet、WeakMap

4284 단어
본 고 는 완 다 신의 ES6 가 다 본 학습 노트 로 나중에 복습 할 수 있 도록 편리 하 다.
세트
1 、 Set 은 무엇 입 니까:
  • 이것 은 수조 와 유사 하지만 구성원 의 값 은 모두 유일 하 다
  • 대상
  • Set 구 조 는 키 이름 이 없고 키 값 만 있 습 니 다 (또는 키 이름과 키 값 이 같은 값 입 니 다)
  • 2. 매개 변수:
      -     :   iterable          , :  、   、null、undefined、  
      -     :   、NaN、{}
    
      new Set([1, 2, 3, 4, 4]);
    

    3. 용도:
      -     
      [...new Set(array)]  //   newSet   ,     
    
      -     
      let set = new Set([1, 2, 3]);
      set = new Set([...set].map(x => x * 2));
      //   Set  :{2, 4, 6}
      - 
    

    4. 실례 속성 과 방법
  • 속성: Set. prototype. constructor: 구조 함수, 기본 값 은 Set 함수 입 니 다. Set. prototype. size: Set 인 스 턴 스 의 구성원 총 수 를 되 돌려 줍 니 다.
  • 동작 방법: Set. prototype. add (value): 어떤 값 을 추가 하고 Set 구조 자 체 를 되 돌려 줍 니 다. Set. prototype. delete (value): 어떤 값 을 삭제 하고 불 값 을 되 돌려 줍 니 다. Set. prototype. has (value): 불 값 을 되 돌려 줍 니 다. 이 값 이 Set. prototype. clear () 인지 확인 합 니 다.: 모든 구성원 을 삭제 하고 반환 값 이 없습니다.
  • 옮 겨 다 니 는 방법: set. prototype. keys (): 키 이름 을 되 돌려 주 는 옮 겨 다 니 는 Set. prototype. values (): 키 값 을 되 돌려 주 는 옮 겨 다 니 는 옮 겨 다 니 는 Set. prototype. entries (): 키 값 이 맞 는 옮 겨 다 니 는 옮 겨 다 니 는 Set. prototype. foreach (): 각각 구성원 을 옮 겨 다 니 며 직접 for... of 순환 옮 겨 다 니 는 Set
  • 지도
    1. Map 은 무엇 입 니까? 대상 과 유사 하고 키 값 이 맞 는 집합 입 니 다. 그러나 '키' 의 범 위 는 문자열 에 국한 되 지 않 고 각종 유형의 값 (대상 포함) 을 키 로 사용 할 수 있 습 니 다.
    2. 매개 변수
      -     :   iterable          , :  、null、undefined、  
      -     :   、NaN、   、{}
    
    const map = new Map([
      ['name', '  '],
      ['title', 'Author']
    ]);
    

    3. 용도
         map  、filter  ,     Map       (Map     map filter  )。
    const map0 = new Map()
      .set(1, 'a')
      .set(2, 'b')
      .set(3, 'c');
    
    const map1 = new Map(
      [...map0].filter(([k, v]) => k < 3)
    );
    

    4. 실례 속성 과 방법
  • 속성: Map. prototype. size
  • 조작 방법: Map. prototype. set (key, value) Map. prototype. get (key) Map. prototype. has (key) Map. prototype. delete (key) Map. prototype. clear ()
  • 옮 겨 다 니 는 방법 Map. prototype. keys (): 키 이름 을 되 돌려 주 는 옮 겨 다 니 는 장치 입 니 다. Map. prototype. values (): 키 값 을 되 돌려 주 는 옮 겨 다 니 는 장치 입 니 다. Map. prototype. foreach (): 맵 을 옮 겨 다 니 는 모든 구성원. for... of...
  • 3. WeakSet
    1. WeakSet 은 무엇 입 니까?
  • WeakSet 구 조 는 Set 와 유사 하고 중복 되 지 않 는 값 의 집합
  • WeakSet 의 대상 은 모두 약 한 인용 입 니 다. 쓰레기 회수 메커니즘 전후 에 WeakSet 의 구성원 수가 다 를 수 있 기 때문에 WeakSet 는 옮 겨 다 닐 수 없습니다.
  • 2. 매개 변수
        :    [[], []] 、null、undefined、  、  
        :   、NaN、   、{}
    
    const a = [[1, 2], [3, 4]];
    const ws = new WeakSet(a);
    // WeakSet {[1, 2], [3, 4]}
    
    const b = [3, 4];
    const ws = new WeakSet(b);
    // Uncaught TypeError: Invalid value used in weak set(…)
    

    3. 인 스 턴 스 속성 과 방법 WeakSet 은 size 속성 이 없어 서 멤버 들 을 옮 겨 다 닐 수 없습니다. 동작 방법: WeakSet. prototype. add (value): WeakSet 인 스 턴 스 에 새 멤버 를 추가 합 니 다. WeakSet. prototype. delete (value): WeakSet 인 스 턴 스 의 지정 한 멤버 를 제거 합 니 다. WeakSet. prototype. has (value): 어떤 값 이 WeakSet 인 스 턴 스 에 있 는 지 불 값 을 되 돌려 줍 니 다.
    4. WeakMap
    1. WeakMap 은 무엇 입 니까?
  • WeakMap 구 조 는 Map 구조 와 유사 하 며 키 쌍 을 만 드 는 집합 이기 도 합 니 다.
  • WeakMap 은 키 가 아 닌 키 이름 만 약 하 게 인용 합 니 다. 키 값 은 여전히 정상 적 인 참조 입 니 다.
  • const wm = new WeakMap();
    2. 매개 변수
  • WeakMap 은 대상 을 키 명 (null 제외) 으로 만 받 아들 이 고 다른 유형의 값 은 키 명 으로 받 아들 이지 않 습 니 다.
  • 3. 응용
    //    WeakMap:            ,             ,             e1 e2     。
    const e1 = document.getElementById('foo');
    const e2 = document.getElementById('bar');
    const arr = [
      [e1, 'foo   '],
      [e2, 'bar   '],
    ];
    //         
    arr [0] = null;
    arr [1] = null;
    
    // WeakMap         ,         。                 ,                   。    ,      ,WeakMap                     ,        。
    
           :
    1、DOM       ,     DOM     ,         ,         。
    2、      ,      ,        ,        。
    

    4. 인 스 턴 스 속성 과 방법
  • size 속성 이 없습니다
  • clear 방법 은 지원 되 지 않 습 니 다
  • keys (), values (), entries () 방법 이 없습니다. 어떤 키 이름 이 전혀 예측 할 수 없 기 때 문 입 니 다
  • 네 가지 방법 으로 사용 할 수 있 습 니 다: get (), set (), has (), delete ().
  • 좋은 웹페이지 즐겨찾기