null
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
Значение null
представляет отсутствие какого-либо объектного значения. В JavaScript, null
является примитивом, и в контексте логических операций, рассматривается как ложное (falsy).
Интерактивный пример
Синтаксис
null
Описание
Значение null
записывается литералом null
. Оно является самостоятельным, а не свойством глобального объекта (как undefined
). В API, null
часто присутствует в местах где ожидается объект, но подходящего объекта нет.
// переменная foo не существует - она не была определена и никогда не инициализировалась:
> foo
'ReferenceError: foo is not defined'
// переменная foo существует, но она не имеет ни типа, ни значения:
> var foo = null; foo
'null'
Отличия между null
и undefined
null
является определённым значением отсутствия объекта, тогда как undefined
обозначает неопределённость. Например:
var element;
// значение переменной element до её инициализации не определённо: undefined
element = document.getElementById("not-exists");
// здесь при попытке получения несуществующего элемента, метод getElementById возвращает null
// переменная element теперь инициализирована значением null, её значение определено
При проверке на null
или undefined
, помните о различии между операторами равенства (==) и идентичности (===): с первым, выполняется преобразование типов.
typeof null; // object (не "null" из соображений обратной совместимости)
typeof undefined; // undefined
null === undefined; // false
null == undefined; // true
Спецификации
Specification |
---|
ECMAScript Language Specification # sec-null-value |
Совместимость с браузерами
BCD tables only load in the browser