Можно много говорить чем что является с сугубо теоретической точки зрения.
Можно вспомнить аналогии из C++ и Java, что null, это значение объекта, обозначающее его отсутствие.
И вообще подо всё подвести теоретическую базу, откопать ECMA и начать цитировать его, как библию.
Но с точки зрения реальных задач, где требуется узнать что вообще там лежит в этой переменной, зачастую приходится делать кучу грязных хаков и иногда сталкиваться вообще с непостижимым