La valeur null
est un littéral JavaScript représentant la nullité au sens où aucune valeur pour l'objet n'est présente. C'est une des valeurs primitives de JavaScript.
Le code source de cet exemple interactif est disponible dans un dépôt GitHub. Si vous souhaitez contribuez à ces exemples, n'hésitez pas à cloner https://github.com/mdn/interactive-examples et à envoyer une pull request !
Syntaxe
null
Description
La valeur null
est un littéral (et non pas une propriété de l'objet global telle que undefined
). Dans certaines API, null
est souvent utilisé en valeur de retour lorsqu'un objet est attendu mais qu'aucun objet ne convient. Lors de tests d'égalité avec null
ou undefined
, il faut faire attention aux différences entre les opérateurs d'égalité faible (==) et stricte (===) (on aura une conversion de type avec le premier).
// toto n'existe pas, n'a pas été défini et n'a jamais été initialisé
toto;
"ReferenceError: toto is not defined"
// toto existe mais n'a ni type ni valeur
var toto = null;
console.log(toto); // null
Différence entre null et undefined
typeof null; // "object" (pas null pour des raisons historiques)
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
Spécifications
Spécification | État | Commentaires |
---|---|---|
ECMAScript 1st Edition (ECMA-262) | Standard | Définition initiale. |
ECMAScript 5.1 (ECMA-262) La définition de 'null value' dans cette spécification. |
Standard | |
ECMAScript 2015 (6th Edition, ECMA-262) La définition de 'null value' dans cette spécification. |
Standard | |
ECMAScript (ECMA-262) La définition de 'null value' dans cette spécification. |
Standard évolutif |
Compatibilité des navigateurs
BCD tables only load in the browser