in 연산자와 typeof 사용하기in 연산자를 사용하는 것이 가장 안전한 방법입니다. 다음 예시를 살펴보세요:in 연산자를 사용하세요.undefined 값을 가지고 있는지 알고 싶다면, 문자열을 반환하는 것이 보장되는 typeof 연산자를 사용하세요:undefined와 직접 비교하는 것은 undefined가 덮어씌워질 수 있기 때문에 문제가 될 수 있습니다.undefined는 쓰기 불가(non-writable) 속성이 되었습니다.if (window.myVar) 방식은 다음과 같은 거짓 같은 값(falsy values)들도 포함하므로 그다지 견고하지 않습니다:if (myVariable)은 두 가지 상황에서 에러를 발생시킬 수 있습니다. 첫 번째는 변수가 정의되지 않았을 때이며, 이때는 ReferenceError가 발생합니다:undefined와 직접 비교typeof 확인을 선호했던 이유 중 하나(즉, undefined가 재정의될 수 있다는 점)는 ECMAScript 5가 널리 채택되면서 무의미해졌습니다. 따라서 이제는 대부분의 상황에서 직접 비교를 사용하는 것이 권장됩니다:ReferenceError를 발생시킵니다.void 0 사용하기window.undefined처럼 덮어씌워질 수 없습니다.방법 | 미선언 변수 작동 여부 | 비고 |
|---|---|---|
typeof myVar === 'undefined' | 예 | 안전함, 미선언 변수에도 작동함 |
myVar === undefined | 아니요 | 미선언 시 ReferenceError 발생 |
myVar === void 0 | 아니요 | 미선언 시 ReferenceError 발생 |
"myVar" in window | 예 | 속성 존재 여부를 확인하며, undefined 여부는 확인하지 않음 |
if (myVar) | 아니요 | 미선언 시 ReferenceError 발생 |
아직 댓글이 없습니다.
첫 번째 댓글을 작성해보세요!

Async Hooks (비동기 훅)
n-ryu • Back-End

좋은 질문을 하는 방법은 무엇인가요? - 고객 센터
n-ryu • Career

내가 어떻게 여기까지 왔을까?
n-ryu • Computer Science