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

자바스크립트에서 변수가 undefined 또는 null인지 확인하는 방법

변수가 undefined 또는 null인지 확인하기

자바스크립트에서는 조건문을 활용하면 변수가 null 또는 undefined인지 간단하게 판별할 수 있습니다. 핵심 원리는 자바스크립트의 '참 같은 값(truthy)'과 '거짓 같은 값(falsy)' 개념입니다.

변수를 if 조건문에 그대로 넣고 평가했을 때 결과가 false라면, 해당 변수는 값이 할당되지 않았거나(undefined) 명시적으로 비어 있는(null) 상태라는 의미입니다.

예제 코드

아래 예제에서는 변수 age에 숫자 10이 할당되어 있으므로 참 같은 값으로 평가되어 결과가 True로 출력됩니다.

<html>
<body>
<script>
var age = 10;

if(age) {
document.write("True");
} else {
document.write("False");
}
</script>
</body>
</html>

동작 원리 이해하기

위 코드에서 if(age) 조건은 다음과 같이 평가됩니다.

  • 변수에 유효한 값이 있을 때: 0이 아닌 숫자, 문자열, 객체 등은 참 같은 값으로 취급되어 true를 반환합니다.
  • 변수가 undefined 또는 null일 때: 두 값 모두 거짓 같은 값(falsy)에 해당하므로 false를 반환하고 else 블록이 실행됩니다.

주의할 점

이 방법은 간편하지만, 숫자 0, 빈 문자열 "", false, NaN 역시 거짓 같은 값으로 평가된다는 점에 유의해야 합니다. 따라서 오직 undefinednull만 정확히 구분하고 싶다면 아래와 같이 느슨한 동등 연산자(==)를 사용하는 것이 좋습니다.

if (age == null) {
// age가 undefined 또는 null인 경우 실행
}

== null 비교는 undefinednull 두 가지 경우만 걸러내기 때문에, falsy 값까지 함께 필터링되는 실수를 방지할 수 있습니다.