--- title: 'null' slug: Web/JavaScript/Reference/Global_Objects/null tags: - JavaScript - Literal - Primitive translation_of: Web/JavaScript/Reference/Global_Objects/null ---
Значение null
представляет отсутствие какого-либо объектного значения. В JavaScript, null
является {{Glossary("Primitive", "примитивом")}}, и в контексте логических операций, рассматривается как {{Glossary("Falsy", "ложное (falsy)")}}.
{{EmbedInteractiveExample("pages/js/globalprops-null.html")}}
The source for this interactive example is stored in a GitHub repository. If you'd like to contribute to the interactive examples project, please clone https://github.com/mdn/interactive-examples and send us a pull request.
null
Значение null
записывается литералом null
. Оно является самостоятельным, а не свойством глобального объекта (как {{jsxref("Global_Objects/undefined", "undefined")}}). В API, null
часто присутствует в местах где ожидается объект, но подходящего объекта нет.
// переменная foo не существует - она не была определена и никогда не инициализировалась: > foo 'ReferenceError: foo is not defined' // переменная foo существует, но она не имеет ни типа, ни значения: > var foo = null; foo 'null'
null
и undefined
null
является определённым значением отсутствия объекта, тогда как {{jsxref("Global_Objects/undefined", "undefined")}} обозначает неопределённость. Например:
var element; // значение переменной element до её инициализации не определённо: undefined element = document.getElementById('not-exists'); // здесь при попытке получения несуществующего элемента, метод getElementById возвращает null // переменная element теперь инициализирована значением null, её значение определено
При проверке на null
или {{jsxref("Global_Objects/undefined", "undefined")}}, помните о различии между операторами равенства (==) и идентичности (===): с первым, выполняется преобразование типов.
typeof null // object (не "null" из соображений обратной совместимости) typeof undefined // undefined null === undefined // false null == undefined // true
Спецификация | Статус | Комментарии |
---|---|---|
ECMAScript 1-е издание. | Стандарт | Изначальное определение. |
{{SpecName('ES5.1', '#sec-4.3.11', 'значение null')}} | {{Spec2('ES5.1')}} | |
{{SpecName('ES6', '#sec-null-value', 'значение null')}} | {{Spec2('ES6')}} | |
{{SpecName('ESDraft', '#sec-null-value', 'null value')}} | {{Spec2('ESDraft')}} |