JavaScript - undefined, null의 차이
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
마무리🔥
undefined와 null의 차이를 명확하게 알게되었고 여기서 null이 상황에따라 다르게 보이는게 신기했고 이해하고 암기 해야할것같다.
오늘도 화이팅❗️