객체에서 특정 프로퍼티가 존재하는지 확인하는 방법을 정리합니다.
예시로 superman
객체를 사용합니다.
const superman = {
name: 'clark',
age: 33,
};
console.log(superman.birthDay); // undefined
❗ 존재하지 않는 프로퍼티에 접근하면
undefined
가 반환됩니다.
단, key는 존재하지만 값이undefined
일 수도 있기 때문에 존재 여부 판단용으로는 부정확할 수 있습니다.
in
연산자console.log('birthDay' in superman); // false
console.log('age' in superman); // true
✅
'key' in 객체
는 해당 key가 정확히 존재하는지를true
또는false
로 반환해줍니다.
key가 실제로 객체에 존재하는지를 확인하는 가장 정확한 방법입니다.
const obj = {
name: 'anna',
birthDay: undefined
};
console.log(obj.birthDay); // undefined (값이 없어서 undefined)
console.log('birthDay' in obj); // true (key는 존재함!)
방식 | 설명 | 결과 |
---|---|---|
obj.birthDay | 값 접근 | undefined |
'birthDay' in obj | key 존재 여부 확인 | true |
표현 | 용도 | 결과 |
---|---|---|
obj.key | 값 확인용 (있으면 값, 없으면 undefined) | undefined |
'key' in obj | 존재 확인용 (key가 있는지 확인) | true / false |
📌 존재 여부가 확실히 중요할 땐 'key' in 객체
방식을 사용하는 걸 추천합니다.