--- title: 'null' slug: Web/JavaScript/Reference/Global_Objects/null tags: - JavaScript - Literal - Проста величина translation_of: Web/JavaScript/Reference/Global_Objects/null ---
{{jsSidebar("Objects")}}

Значення null позначає навмисну відсутність будь-якого значення об'єкта. Воно є однією з {{glossary("Primitive", "простих величин")}} у JavaScript.

{{EmbedInteractiveExample("pages/js/globalprops-null.html")}}

Синтаксис

Значення null має відповідний літерал:

null

Опис

Власне null не є ідентифікатором властивості глобального об'єкта (змінною в загальній області видимості), як {{jsxref("Global_Objects/undefined", "undefined")}}. Натомість null є значенням, яке свідчить, що змінна не вказує на об'єкт. В різних API значення null часто повертається там, де очікують отримати об'єкт, вказуючи таким чином, що відповідного об'єкта немає.

// Змінна foo не існує. Вона не була оголошена тож і початкового значння не має:
foo;  // "ReferenceError: foo is not defined"

// Тепер змінна foo оголошена й існує, але вона не має ані типу, ані значення:
var foo = null;
foo;  // виводить "null"

Різниця між null та undefined

Порівнюючи змінну з null чи undefined зважайте на різницю між операторами рівності (==) й тотожності (===), оскільки перший за потреби здійснює перетворення типів.

typeof null          // "object" (не "null" з метою зворотної сумісності)
typeof undefined     // "undefined"
null === undefined   // false
null  == undefined   // true
null === null        // true
null == null         // true
!null                // true
isNaN(1 + null)      // false
isNaN(1 + undefined) // true

Специфікації

Специфікація Статус Коментар
{{SpecName('ES1')}} {{Spec2('ES1')}} Початкова виознака.
{{SpecName('ES5.1', '#sec-4.3.11', 'null value')}} {{Spec2('ES5.1')}}  
{{SpecName('ES6', '#sec-null-value', 'null value')}} {{Spec2('ES6')}}  
{{SpecName('ESDraft', '#sec-null-value', 'null value')}} {{Spec2('ESDraft')}}  

Підтримка веб-переглядачами

{{Compat("javascript.builtins.null")}}

Див. також