Неопределенный
Указывает, что переменная была объявлена, но не была инициализирована. Следует отметить, что при использовании оператора TypeOF для определения типа данных значения, возвращаемые не обнаруженными переменными, и неонициализированные переменные, не определены.
var message; console.log (typeof message); // undefinedconsole.log (typeof age); // undefined
NULL: представляет пустой указатель объекта
Значение, возвращаемое с помощью оператора TypeOF, является «объектом». Следует отметить, что неопределенное значение получено из нулевого значения, поэтому ECMA-262 предусматривает, что они должны вернуть истину при тестировании на равенство.
console.log (null == не определен); // true
Разница между неопределенным и нулевым
(1) неопределенные средства, что переменная не была объявлена или была объявлена, но не была назначена
(2) NULL - это значение, которое указывает «нет значения»
(3) JavaScript устанавливает значение по умолчанию незначенных переменных для неопределенных
(4) JavaScript никогда не устанавливает переменные на NULL. Он используется, чтобы позволить программисту показать, что переменная, объявленная с VAR, не имеет значения.
(5) неопределенные не являются действительным JSON, а NULL - это
(6) Тип неопределенного не определен, а тип нуля является объектом.
PS: все это основные типы
Все они ложные (логические (неопределенные) // ложные, логические (нулевые) // ложные)
Вы можете определить, является ли переменная не определена таким образом
typeof variable === "не определен"
Вы можете определить, является ли переменная нулевой таким образом
переменная === NULL
Они равны по сравнению с двойными равными признаками, но они не равны по сравнению с тремя равными знаками.
null == undefined // true null === не определено // false