지금부터 그 차이점을 알아보자
undefined
우리가 변수를 선언하고 값을 할당하지 않으면 undefined가 반환된다.
const a;
console.log(a); // undefined
왜 undefined가 반환될까? 그 이유는 자바스크립트 엔진이 우리가 선언한 변수의 메모리 공간을 값이 할당될때까지 내버려두지 않고 undefined로 초기화 하기 때문이다.
즉, undefined는 우리가 의도적으로 할당한것이 아니라 자바스크립트 엔진이 초기화한 값이라는 것이다.
null
null은 우리가 의도적으로 변수에 값이 없다는 것을 알리기 위해 사용한다.
const a = null;
console.log(a); // null
즉 null은 값이 없다는 것을 알리는 것이고 undefined와 달리 null값이 존재한다.
참고한 사이트
https://poiemaweb.com/js-data-type-variable
https://weicomes.tistory.com/132
https://kamang-it.tistory.com/entry/JavaScript09undefined%EC%99%80-null-%EA%B7%B8%EB%A6%AC%EA%B3%A0-NaN-%EC%9D%B4%EC%83%81%ED%95%9C-%EC%82%BC%EA%B0%81%EA%B4%80%EA%B3%84-feat-boolean%EA%B9%8C%EC%A7%80-4%EA%B0%81-%EA%B4%80%EA%B3%84