자바스크립트 undefined 체크 방법 – null과의 차이 for SAPUI5

처음 자바스크립트로 조건문 등을 작성하다 마주하게 되는 오류 중 하나는 자바스크립트 undefined 체크 부분입니다.

종종 특정 값을 읽거나 비교하여 처리를 분기하고자 할 때 undefined 오류가 발생하며 더 이상 진행이 되지 않는 것인데요, 이런 undefined 자료형의 체크에 대해서 알아보도록 하겠습니다.

자바스크립트에서는 undefined도 자료형

자바스크립트는 특이하게도 값을 한번도 할당한 적이 없거나, 생성되지 않은 객체를 접근할 때의 return 값으로 변수에 undefined를 할당합니다. 즉, 아무 것도 할당되지 않았음을 의미합니다.

그런데 자바스크립트에서의 undefined는 데이터 타입인 동시에 값을 의미합니다.(=원시자료형)

따라서 undefined 인지 아닌지를 체크하려면 다음과 같이 따옴표가 없이 수행해야합니다.

let value;
if ( value === undefined ) {
  console.log( "아무것도 할당되지 않았음" )
}

undefined는 따옴표를 빼고 비교해야 한다.

만약 따옴표를 사용하고자 하면 typeof로 자료형까지 확인을 해서 다음과 같이 해야 합니다.

let value;
if ( typeof( value ) === "undefined" ) {
  console.log( "아무것도 할당되지 않았음" )
}

자바스크립트 undefined 와 null 의 차이점은

undefined가 와 null의 차이는, null의 경우 변수를 선언하고 null이라는 값을 명시적으로 넣어주었음을 이야기 하고, undefined의 경우는 변수를 선언했지만 아무것도 넣지 않은 상태입니다.

let value; // undefined
console.log( value );
value = null; // null
console.log( value );

null의 경우 null을 명시적으로 넣어준 상태

자바스크립트 undefined에 대해 좀 더 상세하게 알고자 한다면 모질라 (이글)을 확인해 보시기 바랍니다.

 

함께 보면 좋은 글

자바스크립트 반복문 for of / for in / for 기초 for SAPUI5

자바스크립트 배열 메소드 기초 for SAPUI5 초보자