ReferenceErrorReferenceError
Référence à une variable qui n'existe pas dans la portée courante.
Causes de cette erreur
Vous avez tenté d'utiliser une variable qui n'a pas été déclarée, qui n'est pas dans la portée, ou qui a été accédée avant sa déclaration (zone morte temporelle). Cela peut aussi survenir avec des noms de variables mal orthographiés.
Comment la corriger
Déclarez la variable avant de l'utiliser avec let, const ou var. Vérifiez les fautes de frappe dans les noms de variables. Assurez-vous que la variable est dans la portée où vous y accédez. Importez les modules manquants.
Exemple
console.log(undeclaredVar); // ReferenceError: undeclaredVar is not definedCodes d'erreur associés
InternalError: too much recursionInternalError: too much recursion
Erreur spécifique à Firefox équivalente à RangeError: Maximum call stack size exceeded sous Chrome/Node.js.
EHOSTUNREACHEHOSTUNREACH
L'hôte cible est inaccessible, généralement à cause de problèmes de routage réseau.
URIErrorURIError : URI mal formée
Une fonction globale de gestion d'URI (decodeURIComponent, encodeURI) a reçu une URI malformée.
SyntaxError: Applying delete to unqualified name in strict modeSyntaxError : suppression d'un nom non qualifié en mode strict
L'opérateur delete a été utilisé sur un simple nom de variable en mode strict, ce qui n'est pas autorisé.
SyntaxError: Unterminated string literalSyntaxError : Littéral de chaîne non terminé
Un littéral de chaîne n'a pas son guillemet fermant.
SyntaxError: JSON.parse unexpected characterSyntaxError : Caractère inattendu dans JSON.parse
JSON.parse() a rencontré une syntaxe JSON invalide, comme des guillemets simples, des virgules finales ou des clés non entre guillemets.