Computer >> 컴퓨터 >  >> 프로그래밍 >> JavaScript

JavaScript WeakSet.has() 메서드 완벽 정리: 문법과 실전 예제

WeakSet.has() 메서드란?

WeakSet.has()는 JavaScript에 내장된 함수로, 특정 객체가 WeakSet 컬렉션 안에 존재하는지 검사한 후 그 결과를 불리언(Boolean) 값으로 반환합니다. 참고로 WeakSet 객체는 약하게 참조되는(weakly held) 객체들을 컬렉션 형태로 저장할 수 있게 해주는 자료구조입니다.

문법(Syntax)

weakSet.has(obj);

매개변수(Arguments)

weakSet.has() 메서드는 하나의 매개변수 obj를 받아들이며, 해당 객체가 대상 WeakSet에 존재하는지 여부를 확인합니다.

반환 값(Return Value)

weakSet.has() 메서드는 객체의 존재 여부에 따라 불리언 값을 반환합니다. 해당 객체가 WeakSet 안에 존재하면 true를, 존재하지 않으면 false를 반환합니다.

예제 1: 객체가 존재하는 경우

다음 예제에서 weakSet.has()는 사용자가 생성한 객체가 WeakSet에 포함되어 있는지 확인합니다. 객체가 WeakSet에 이미 추가되어 있으므로 결과값으로 true가 출력됩니다.

<html>
<body>
<script type="text/javascript">
    const object = new WeakSet();
    const newObj = {
        'prop': 1
    };
    object.add(newObj);
    document.write(object.has(newObj)); // true 반환
</script>
</body>
</html>

출력 결과

true

예제 2: 객체가 존재하지 않는 경우

다음 예제에서는 객체를 WeakSet에 추가하지 않은 상태에서 weakSet.has()로 존재 여부를 확인합니다. 객체가 WeakSet에 없기 때문에 결과값으로 false가 출력됩니다.

<html>
<body>
<script type="text/javascript">
    const object = new WeakSet();
    const newObj = {
        'prop1': 1
    };
    document.write(object.has(newObj)); // false 반환
</script>
</body>
</html>

출력 결과

false

정리

WeakSet.has()는 객체의 존재 여부를 간단히 확인할 수 있는 유용한 메서드입니다. 단, WeakSet에는 원시 값(primitive value)이 아닌 객체만 저장할 수 있다는 점을 기억하세요. 또한 WeakSet에 저장된 객체는 다른 곳에서 참조되지 않으면 가비지 컬렉션(garbage collection)의 대상이 되므로, 메모리 관리 측면에서도 효율적인 자료구조입니다.