JavaScript에서 undefined 변수 확인하기
JavaScript에서 변수가 undefined인지 확인하는 가장 간단한 방법은 조건문(if)을 활용하는 것입니다. 변수를 조건식에 그대로 넣으면, 값이 정의되어 있고 유효한 경우 true가 반환되며, 변수가 정의되지 않았거나 값이 없는 경우 false가 반환됩니다.
즉, 실행 결과가 "false"라면 해당 변수는 정의되지 않은 상태라는 의미입니다. 아래 예제에서는 변수 points에 100이라는 값이 할당되어 있으므로 결과는 "True"가 출력됩니다.
예제
<html>
<body>
<script>
var points = 100;
if(points){
document.write("True");
}else{
document.write("False");
}
</script>
</body>
</html>
실행 결과
위 코드를 실행하면 다음과 같은 결과가 출력됩니다.
True
typeof 연산자로 더 안전하게 확인하기
조건문만 사용하면 0, 빈 문자열(""), null 같은 falsy 값도 "정의되지 않음"으로 판단될 수 있습니다. 따라서 변수 자체가 선언조차 되지 않은 경우까지 안전하게 확인하려면 typeof 연산자를 사용하는 것이 좋습니다.
<script>
if(typeof points === "undefined"){
document.write("변수가 정의되지 않았습니다.");
}else{
document.write("변수가 정의되어 있습니다.");
}
</script>
typeof는 선언되지 않은 변수에 접근해도 오류를 발생시키지 않고 문자열 "undefined"를 반환하므로, 런타임 오류 없이 안전하게 변수의 정의 여부를 검사할 수 있습니다.