--- title: 'null' slug: Web/JavaScript/Reference/Global_Objects/null translation_of: Web/JavaScript/Reference/Global_Objects/null ---
{{jsSidebar("Objects")}}

Il valore null rappresenta l'assenza intenzionale di qualsiasi valore dell'oggetto. È una delle {{Glossary("Primitive", "primitive values")}} di JavaScript.

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

Sintassi

null

Descrizione

Il valore null è scritto con un letterale: null. null non è un identificatore per una proprietà dell'oggetto globale, come {{jsxref("Global_Objects/undefined","undefined")}} può essere. Invece, null esprime una mancanza di identificazione, indicando che una variabile punta a nessun oggetto. Nelle API, null viene spesso recuperato in un punto in cui è possibile prevedere un oggetto ma nessun oggetto è rilevante.

// foo non esiste Non è definito e non è mai stato inizializzato:
foo;
"ReferenceError: foo is not defined"

// foo è noto per esistere ora ma non ha alcun tipo o valore:
var foo = null;
foo;
"null"

Differenze tra nullundefined

Durante il controllo per nullundefined, attenti alle differenze tra gli operatori equality (==) e identity (===), come il primo esegue la conversione del tipo.

typeof null          // "object" (non "null" per motivi legacy)
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

Specifiche

Specifica Stato Commento
{{SpecName('ES1')}} {{Spec2('ES1')}} Initial definition.
{{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')}}  

Compatibilità con i browser

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

Vedi anche