학습을 하면서 null 과 undefined 의 차이에 대해서 알아봤다. 이 차이를 공부하면서 간략하게 TIL을 작성해보려 한다. 겉으로만 봤을때는 둘다 비슷한 의미를 지니고 있어서 같은 의미를 가지고 있다고 오해하기 쉽다. 둘다 정의되지 않았다는 부분에서는 의미가 비슷하지만 좀더 자세히 살펴보면 null 과 undefined 는 엄연히 다르다. 우선 undefined 는 타입으로 분류되지만 null 은 object 로 지정이된다. 또한, undefined는 변수를 만들고 값을 할당하지 않거나 하면 자동으로 undefined가 되는 반면 null 이라는 값은 특별한 의미는 지니지 않아도 코드 작성자가 변수에 의도적으로 지정을 해줘야한다.
아래의 이미지는 이해를 돕기위해 참고한다:

보다시피 변수라는 공간안에 어떠한 값이 할당될 경우, 값이 존재한다는 표시가 있다. null 의 경우 값을 할당할 수 있는 공간은 존재하지만 의도적으로 비워져 있다고 보면된다. 반면, undefined 는 공간의 이름은 존재하지만 아무것도 할당하지 않은 상태다.