| 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
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
 | ---
title: ReferenceError
slug: Web/JavaScript/Reference/Global_Objects/ReferenceError
tags:
  - Error
  - JavaScript
  - Object
  - Reference
  - ReferenceError
translation_of: Web/JavaScript/Reference/Global_Objects/ReferenceError
original_slug: Web/JavaScript/Reference/Objets_globaux/ReferenceError
---
{{JSRef}}
L'objet **`ReferenceError`** représente une erreur qui se produit lorsqu'il est fait référence à une variable qui n'existe pas.
## Syntaxe
    new ReferenceError([message[, nomFichier[, numLigne]]])
### Paramètres
- `message`
  - : Paramètre optionnel. Une description de l'erreur, lisible par un être humain.
- `nomFichier` {{Non-standard_inline}}
  - : Paramètre optionnel. Le nom du fichier qui contient le code à l'origine de l'exception.
- `numLigne` {{Non-standard_inline}}
  - : Paramètre optionnel. Le numéro de ligne dans le fichier qui contient le code à l'origine de l'exception.
## Description
Une exception `ReferenceError` est lancée quand on tente de faire référence à une variable qui n'a pas été déclarée.
## Propriétés
- {{jsxref("ReferenceError.prototype")}}
  - : Cette propriété permet d'ajouter des propriétés à un objet `ReferenceError`.
## Méthodes
L'objet global `ReferenceError` ne contient aucune méthode qui lui soit propre. En revanche, il hérite de certaines méthodes via l'héritage et sa chaîne de prototypes.
## Instances de `ReferenceError`
### Propriétés
{{page('fr/docs/Web/JavaScript/Reference/Objets_globaux/ReferenceError/prototype','Properties')}}
### Méthodes
{{page('fr/docs/Web/JavaScript/Reference/Objets_globaux/ReferenceError/prototype','M.C3.A9thodes')}}
## Exemples
### Intercepter une exception ReferenceError
```js
try {
  var a = variableNonDéfinie;
} catch (e) {
  console.log(e instanceof ReferenceError); // true
  console.log(e.message);                   // "variableNonDéfinie is not defined"
  console.log(e.name);                      // "ReferenceError"
  console.log(e.fileName);                  // "Scratchpad/1"
  console.log(e.lineNumber);                // 2
  console.log(e.columnNumber);              // 6
  console.log(e.stack);                     // "@Scratchpad/2:2:7\n"
}
```
### Créer une exception `ReferenceError`
```js
try {
  throw new ReferenceError('Bonjour', 'unFichier.js', 10);
} catch (e) {
  console.log(e instanceof ReferenceError); // true
  console.log(e.message);                   // "Bonjour"
  console.log(e.name);                      // "ReferenceError"
  console.log(e.fileName);                  // "unFichier.js"
  console.log(e.lineNumber);                // 10
  console.log(e.columnNumber);              // 0
  console.log(e.stack);                     // "@Scratchpad/2:2:9\n"
}
```
## Spécifications
| Spécification                                                                                                                                | Statut                       | Commentaires         |
| -------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------- | -------------------- |
| {{SpecName('ES3')}}                                                                                                                     | {{Spec2('ES3')}}         | Définition initiale. |
| {{SpecName('ES5.1', '#sec-15.11.6.3', 'ReferenceError')}}                                                                 | {{Spec2('ES5.1')}}     |                      |
| {{SpecName('ES6', '#sec-native-error-types-used-in-this-standard-referenceerror', 'ReferenceError')}}     | {{Spec2('ES6')}}         |                      |
| {{SpecName('ESDraft', '#sec-native-error-types-used-in-this-standard-referenceerror', 'ReferenceError')}} | {{Spec2('ESDraft')}} |                      |
## Compatibilité des navigateurs
{{Compat("javascript.builtins.ReferenceError")}}
## Voir aussi
- {{jsxref("Error")}}
- {{jsxref("ReferenceError.prototype")}}
 |