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

JavaScript in 연산자 완벽 가이드: 객체 프로퍼티 존재 여부 확인하기

JavaScript에서 in 연산자는 특정 프로퍼티(속성)가 객체 안에 존재하는지 여부를 확인할 때 사용하는 연산자입니다.

in 연산자는 왼쪽에 프로퍼티 이름(문자열 또는 심볼), 오른쪽에 확인 대상이 되는 객체를 배치하며, 프로퍼티가 존재하면 true, 존재하지 않으면 false를 반환합니다.

기본 문법

propertyName in objectName

사용 예제

아래 코드를 실행하면 in 연산자가 어떻게 동작하는지 직접 확인할 수 있습니다.

<!DOCTYPE html>
<html>
   <body>
      <script>
         var emp = {name:"Amit", subject:"Java"};
         document.write("name" in emp);
         document.write("<br>");
         document.write("subject" in emp);
         document.write("<br>");
         document.write("MAX_VALUE" in Number);
         document.write("<br>");
         document.write("MIN" in Number);
      </script>
   </body>
</html>

실행 결과

true
true
true
false

결과 해석

  • "name" in emptrue: emp 객체에 name 프로퍼티가 존재합니다.
  • "subject" in emptrue: emp 객체에 subject 프로퍼티가 존재합니다.
  • "MAX_VALUE" in Numbertrue: 내장 객체인 NumberMAX_VALUE 정적 프로퍼티가 존재합니다.
  • "MIN" in Numberfalse: Number에는 MIN이라는 프로퍼티가 없습니다(실제로는 MIN_SAFE_INTEGER라는 이름을 사용합니다).

참고 사항

in 연산자는 객체 자신의 프로퍼티뿐만 아니라 프로토타입 체인에 있는 상속된 프로퍼티까지도 확인한다는 점에 유의해야 합니다. 예를 들어 "toString" in empemp 객체에 직접 정의되지 않았더라도 Object.prototype에서 상속받은 메서드이므로 true를 반환합니다.

객체 자신의 프로퍼티만 확인하고 싶다면 Object.hasOwn()(또는 구형 브라우저에서는 hasOwnProperty()) 메서드를 사용하는 것이 좋습니다.