undefined
var, let, const로 변수를 선언하게 되면 자바스크립트 엔진은 메모리에 변수 공간을 생성하게 된다.
이렇게 만들어진 메모리의 변수 공간에 데이터가 할당되기 전까지 undefined가 할당된다.
(따로 지정안해줘도 됨)

null
사용자가 명시적으로 변수 공간이 비어있음을 의미할 때 사용(의도적으로 비움)

결국 null 과 undefined 는 등록, 저장 여부
undefined 는 미리 선언된 전역변수(전역 객체의 프로퍼티)이며, null 은 선언,등록을 하는 키워드
참조:
https://www.youtube.com/watch?v=2M202KTFv8g