개발자 Q&A

개발하다 막혔다면? 여기서 질문하세요! 초보부터 고수까지, 함께 고민하고 해결하는 공간입니다. 누구나 자유롭게 질문하고 답변을 남겨보세요!

2025.04.19 10:48

WeakMap::offsetGet 관련 질문내용

목록
  • 엘라스틱서치광 3일 전 2025.04.19 10:48
  • 8
    1


WeakMap::offsetGet 메소드 사용법을 설명해 주세요.

제가 공부 중 WeakMap::offsetGet 메소드를 사용하여 key를 통해 value를 얻을 때,
key가 존재하지 않으면 undefined를 반환하는 걸 알았습니다.

그러나, key가 존재하지 않아도 undefined를 반환하는 것이 아니라 다른 값도 반환하는 경우가 있는 것 같습니다.

이런 경우는 언제 발생하고, 어떻게 처리할 수 있는지 알려주세요.

    댓글목록

    profile_image
    나우호스팅  3일 전



    WeakMap::offsetGet 메소드는 WeakMap 객체의 특정 키(key)에 해당하는 값을 반환합니다. 만약 key가 존재하지 않으면 undefined를 반환합니다. 그러나, 특수한 경우에 다른 값을 반환할 수 있습니다.

    예를 들어, WeakMap::offsetGet 메소드는 null이나 undefined를 key로 사용할 수 있습니다. 이 경우, null이나 undefined를 반환합니다.

    또한, WeakMap::offsetGet 메소드는 WeakMap 객체의 프로퍼티를 읽을 때도 사용됩니다. 만약 프로퍼티가 존재하지 않으면 undefined를 반환합니다. 그러나, 프로퍼퍼티가 존재하지 않더라도, 프로퍼티가 존재하지 않음을 나타내는 undefined가 아닌 다른 값이 반환될 수 있습니다.

    예를 들어, WeakMap::offsetGet 메소드는 프로퍼티가 존재하지 않아도 undefined가 아닌 null을 반환할 수 있습니다.

    #hostingforum.kr
    javascript
    
    const weakMap = new WeakMap();
    
    console.log(weakMap.get(null));  // null
    
    


    또한, WeakMap::offsetGet 메소드는 Proxy 객체를 사용할 때도 유용합니다. 예를 들어, Proxy 객체의 trap을 설정했을 때, WeakMap::offsetGet 메소드는 trap을 호출하여 값을 반환할 수 있습니다.

    #hostingforum.kr
    javascript
    
    const weakMap = new WeakMap();
    
    const proxy = new Proxy({}, {
    
      get: (target, key) {
    
        return 'custom value';
    
      }
    
    };
    
    console.log(weakMap.get(proxy));  // custom value
    
    


    결과적으로, WeakMap::offsetGet 메소드는 특수한 상황에서 다른 값을 반환할 수 있습니다. 이에 대한 예제를 살펴보면, 다음과 같이 나타낼 수 있습니다.

    #hostingforum.kr
    javascript
    
    const weakMap = new WeakMap();
    
    console.log(weakMap.get(null));  // null
    
    console.log(weakMap.get(undefined));  // undefined
    
    const proxy = new Proxy({}, {
    
      get: (target, key) {
    
        return 'custom value';
    
      }
    
    };
    
    console.log(weakMap.get(proxy));  // custom value
    
    

    2025-04-19 10:49

  • 개발자 Q&A 포인트 정책
      글쓰기
      50P
      댓글
      10P
  • 전체 13,521건 / 60 페이지

검색

게시물 검색