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

JavaScript Map.has() 메서드 완벽 가이드: 키 존재 여부 확인하기

JavaScript에서 Map 객체has() 메서드는 특정 키가 Map 안에 존재하는지 확인하는 기능을 합니다. 이 메서드는 키를 인수로 전달받아 불리언(Boolean) 값을 반환하며, 해당 키가 존재하면 true, 존재하지 않으면 false를 리턴합니다.

Map은 키-값(key-value) 쌍을 저장하는 자료구조로, has() 메서드를 활용하면 데이터를 읽거나 수정하기 전에 특정 키가 이미 등록되어 있는지 손쉽게 검사할 수 있어 실무에서 매우 유용하게 사용됩니다.

문법(Syntax)

has() 메서드의 기본 문법은 다음과 같습니다.

mapVar.has(key)
  • key (필수): 존재 여부를 확인하고자 하는 키입니다.
  • 반환값: 키가 존재하면 true, 존재하지 않으면 false (불리언 타입)

예제 1: 존재하는 키 확인하기

다음 예제에서는 네 개의 키-값 쌍을 가진 Map을 생성한 뒤, 키 '3'이 존재하는지 확인합니다.

<html>
<head>
   <title>JavaScript Example</title>
</head>
<body>
   <script type="text/javascript">
      var mapVar = new Map();
      mapVar.set('1', 'Java');
      mapVar.set('2', 'JavaFX');
      mapVar.set('3', 'HBase');
      mapVar.set('4', 'Neo4j');
      document.write(mapVar.has('3'));
   </script>
</body>
</html>

출력 결과

'3'set() 메서드로 등록된 상태이므로 true가 출력됩니다.

true

예제 2: 존재하지 않는 키 확인하기

이번에는 Map에 등록되지 않은 키 '19'로 존재 여부를 확인해 보겠습니다.

<html>
<head>
   <title>JavaScript Example</title>
</head>
<body>
   <script type="text/javascript">
      var mapVar = new Map();
      mapVar.set('1', 'Java');
      mapVar.set('2', 'JavaFX');
      mapVar.set('3', 'HBase');
      mapVar.set('4', 'Neo4j');
      document.write(mapVar.has('19'));
   </script>
</body>
</html>

출력 결과

'19'는 Map에 등록되어 있지 않으므로 false가 출력됩니다.

false

참고 사항

  • has() 메서드는 문자열뿐만 아니라 숫자, 객체, 함수 등 모든 자료형의 키를 확인할 수 있습니다.
  • 존재하지 않는 키를 조회해도 에러가 발생하지 않고 단순히 false를 반환하므로 안전하게 사용할 수 있습니다.
  • NaN도 Map의 키로 사용할 수 있으며, has(NaN) 호출 시 정확하게 일치 여부를 판별합니다.