반응형

undefined

변수나 인수를 선언하고 초기값을 할당하지 않은 상태의 값이다.

즉, 자료형이 없는 상태를 말한다.

 

null

변수를 선언하고 빈 값을 할당했다고 지정한 상태를 말한다.

자료형은 object가 나온다.

 

typeof null; //'object'
typeof undefined; //'undefined'

typeof를 찍어봐도 이런 차이가 있지만 null의 경우  object가 나와서 타입을 체크하는 경우 아래와 같은 문제가 발생할 수 있다.

 

typeof []; //'object'
typeof null; //'object'

배열을 체크하고 싶을 때, 배열도 object로 구분된다.

배열인지 체크를 하고 있지만 null인 경우에도 체크가 되기 때문에 소스에 문제가 생길 수 있다.

 

배열은 아래처럼 체크한다.

Array.isArray([]); //true
Array.isArray(null); //false

 

반응형