blob: 39693a1ed240a2627c8743c5e45aa8b12334769d (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
|
---
title: 'null'
slug: Web/JavaScript/Reference/Global_Objects/null
tags:
- JavaScript
- Littéral
- Primitive
- Reference
translation_of: Web/JavaScript/Reference/Global_Objects/null
original_slug: Web/JavaScript/Reference/Objets_globaux/null
---
{{jsSidebar("Objects")}}
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.
{{EmbedInteractiveExample("pages/js/globalprops-null.html")}}
## Syntaxe
null
## Description
La valeur `null` est un littéral (et non pas une propriété de l'objet global telle que {{jsxref("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 (===)](/fr/docs/Web/JavaScript/Les_différents_tests_d_égalité_comment_les_utiliser) (on aura une conversion de type avec le premier).
```js
// 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`
```js
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 |
| ---------------------------------------------------------------------------- | ---------------------------- | -------------------- |
| {{SpecName('ES1')}} | {{Spec2('ES1')}} | Définition initiale. |
| {{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é des navigateurs
{{Compat("javascript.builtins.null")}}
## Voir aussi
- {{jsxref("undefined")}}
- {{jsxref("NaN")}}
|