어제 오늘 내일

[Javascript] Object(객체) key 존재 여부 확인하기 본문

IT/Javascript

[Javascript] Object(객체) key 존재 여부 확인하기

hi.anna 2023. 3. 7. 20:14

 

Object에 특정 이름의 key가 존재하는지 확인하기 위한 방법입니다.

  • in 연산자
  • hasOwnProperty()

 

1. in 연산자

객체에 특정 키가 존재하는지 체크하기 위해서,

in 연산자를 사용할 수 있습니다.

객체에 특정키가 존재하면 true를 리턴하고, 존재하지 않으면 false를 리턴합니다.

 

 

 

 

2. hasOwnProperty()

hasOwnProperty() 메소드를 이용할 수도 있습니다.

마찬가지로, 객체에 특정키가 존재하면 true를 리턴하고, 그렇지 않으면 false를 리턴합니다.

 

 

 

 

3. in 연산자와 hasOwnProperty()

 

 

'in' 연산자는

객체에서 상속받은 속성까지 존재여부를 체크합니다.

따라서, 위 예제를 보면

'in' 연산자를 사용한 경우, 상속받은 속성인 '__proto__', 'constructor' 등의 속성까지 존재여부를 체크합니다.

반면,  hasOwnProperty()는 객체에 정의된 속성만을 체크합니다.

 

따라서, 일반적인 경우(객체에 특정 key가 존재하는지 체크하려는 경우)에는

'in' 연산자보다는 'hasOwnProperty()' 를 사용하는 것이 더 좋습니다.

 

 

 

반응형