TypeErrorTypeError
Une valeur n'est pas du type attendu. Il s'agit de l'erreur JavaScript la plus courante, survenant lorsqu'une opération rencontre une valeur du mauvais type.
Parcourez les 100 codes d'erreur Erreurs JavaScript avec causes, solutions et exemples.
TypeErrorUne valeur n'est pas du type attendu. Il s'agit de l'erreur JavaScript la plus courante, survenant lorsqu'une opération rencontre une valeur du mauvais type.
TypeError: x is not a functionUne tentative a été faite d'appeler une valeur comme une fonction alors qu'il ne s'agit pas d'une fonction.
TypeError: Cannot read properties of undefined/nullTentative d'accès à une propriété ou méthode sur undefined ou null.
TypeError: Cannot set properties of undefined/nullTentative de définition d'une propriété sur undefined ou null.
TypeError: x is not iterableUne valeur non itérable a été utilisée là où un itérable était attendu, par exemple dans une boucle for...of ou avec l'opérateur de décomposition.
TypeError: x is not a constructorTentative d'utilisation du mot-clé new avec une valeur qui n'est pas un constructeur.
TypeError: Assignment to constant variableTentative de réassignation d'une variable déclarée avec const.
TypeError: Cannot convert undefined or null to objectUne méthode native qui attend un objet a reçu null ou undefined à la place.
TypeError: Reduce of empty array with no initial valueArray.reduce() a été appelé sur un tableau vide sans fournir de valeur initiale.
TypeError: Cannot assign to read only propertyTentative d'écriture sur une propriété en lecture seule, soit parce que l'objet est figé, soit parce que la propriété est définie comme non modifiable.
ReferenceErrorRéférence à une variable qui n'existe pas dans la portée courante.
ReferenceError: x is not definedUne variable a été référencée alors qu'elle n'est déclarée dans aucune portée accessible.
ReferenceError: Cannot access before initializationUne variable déclarée avec let ou const a été accédée avant sa déclaration, dans la zone morte temporelle.
ReferenceError: Invalid left-hand side in assignmentUne assignation a été tentée sur quelque chose qui ne peut pas recevoir d'assignation.
SyntaxErrorLe moteur JavaScript a rencontré du code qui ne respecte pas la syntaxe du langage.
SyntaxError: Unexpected tokenLe parseur a rencontré un token (caractère ou mot-clé) inattendu à cette position dans le code.
SyntaxError: Unexpected end of inputLe parseur a atteint la fin de l'entrée alors qu'il attendait encore du code, généralement à cause d'accolades ou de chaînes non fermées.
SyntaxError: JSON.parse unexpected characterJSON.parse() a rencontré une syntaxe JSON invalide, comme des guillemets simples, des virgules finales ou des clés non entre guillemets.
SyntaxError: Missing ) after argument listUn appel de fonction n'a pas sa parenthèse fermante.
SyntaxError: Unterminated string literalUn littéral de chaîne n'a pas son guillemet fermant.
SyntaxError: Illegal return statementUne instruction return a été utilisée en dehors du corps d'une fonction.
SyntaxError: Identifier has already been declaredUne variable du même nom a été déclarée deux fois dans la même portée avec let ou const.
SyntaxError: Cannot use import statement outside a moduleLa syntaxe d'import des modules ES a été utilisée dans un fichier qui n'est pas traité comme un module.
SyntaxError: await is only valid in async functionsLe mot-clé await a été utilisé en dehors d'une fonction async.
RangeErrorUne valeur n'est pas dans la plage attendue, par exemple une longueur de tableau invalide ou un dépassement de la taille de la pile d'appels.
RangeError: Maximum call stack size exceededLa pile d'appels JavaScript a été épuisée, généralement à cause d'une récursion infinie ou excessivement profonde.
RangeError: Invalid array lengthUn tableau a été créé avec une longueur invalide, comme un nombre négatif ou un non-entier.
RangeError: Invalid dateUne chaîne de date invalide a été passée à une méthode Date qui exige une date valide.
RangeError: precision is out of rangeUne valeur de précision passée à toFixed(), toPrecision() ou toExponential() est en dehors de la plage autorisée.
URIErrorUne fonction globale de gestion d'URI (decodeURIComponent, encodeURI) a reçu une URI malformée.
EvalErrorUne erreur liée à la fonction globale eval(). Cette erreur est rarement rencontrée en JavaScript moderne.
InternalError: too much recursionErreur spécifique à Firefox équivalente à RangeError: Maximum call stack size exceeded sous Chrome/Node.js.
AggregateErrorUne erreur qui encapsule plusieurs erreurs, généralement levée quand toutes les promesses d'un Promise.any() sont rejetées.
UnhandledPromiseRejectionUne promesse a été rejetée mais aucun gestionnaire .catch() ou bloc try-catch n'était présent pour traiter le rejet.
DOMException: The operation was abortedUne opération a été annulée via un signal AbortController.
DOMException: NetworkErrorUne opération réseau a échoué, généralement lors d'une requête fetch lorsque le réseau est inaccessible.
DOMException: QuotaExceededErrorUne opération de stockage a dépassé le quota disponible pour localStorage, IndexedDB ou un autre stockage du navigateur.
DOMException: SecurityErrorUne opération sensible à la sécurité a été bloquée par les politiques de sécurité du navigateur.
DOMException: NotAllowedErrorUn appel d'API du navigateur a été bloqué car il nécessite une interaction utilisateur ou une permission non accordée.
CORS Error: No Access-Control-Allow-OriginLe navigateur a bloqué une requête cross-origin parce que le serveur n'a pas inclus les en-têtes CORS requis.
CORS Error: Preflight request failedLa requête préliminaire OPTIONS du CORS a été rejetée ou a renvoyé des en-têtes CORS invalides.
ECONNREFUSEDLa connexion a été refusée car aucun serveur n'écoute sur l'adresse et le port cibles.
ECONNRESETLe serveur distant a fermé la connexion de manière forcée.
EADDRINUSEL'adresse (le port) est déjà utilisée par un autre processus.
ENOTFOUNDLa résolution DNS a échoué ; le nom d'hôte n'a pas pu être résolu en adresse IP.
ETIMEDOUTUne connexion ou opération a expiré car l'hôte distant n'a pas répondu à temps.
ENOENTLe fichier ou le dossier spécifié n'existe pas au chemin indiqué.
EACCESLe processus n'a pas la permission d'accéder au fichier ou à la ressource.
EPERML'opération n'est pas autorisée, même avec des permissions adéquates, en raison de restrictions au niveau OS.
EMFILELe processus a atteint le nombre maximum de descripteurs de fichiers ouverts autorisés.
ENFILELa limite système globale du nombre total de fichiers ouverts a été atteinte.
EISDIRUne opération de fichier a été tentée sur un chemin qui est un dossier.
ENOTDIRUne opération de répertoire a été tentée sur un chemin qui n'est pas un répertoire.
EEXISTUne opération de création de fichier a échoué parce que le chemin cible existe déjà.
EPIPEUne tentative d'écriture a été faite sur un tube ou un socket dont l'extrémité de lecture a été fermée.
ENOSPCLe disque est plein ou la table des inodes est saturée.
ERR_HTTP_HEADERS_SENTUne tentative de définir des en-têtes ou d'envoyer une réponse a été faite après que la réponse HTTP a déjà été envoyée.
ERR_MODULE_NOT_FOUNDUn import de module ES n'a pas pu être résolu car le fichier spécifié n'existe pas.
ERR_REQUIRE_ESMUn appel à require() a été utilisé pour charger un module ES, ce qui n'est pas autorisé.
ERR_INVALID_ARG_TYPEUne API Node.js a reçu un argument du mauvais type.
ERR_INVALID_URLUne URL invalide a été passée au constructeur URL ou à une API Node.js.
ERR_SOCKET_BAD_PORTUn numéro de port invalide a été spécifié pour une opération réseau.
ERR_TLS_CERT_ALTNAME_INVALIDLe nom d'hôte ne correspond à aucun des Subject Alternative Names (SANs) du certificat TLS du serveur.
ERR_BUFFER_OUT_OF_BOUNDSUne tentative de lecture ou d'écriture a été faite en dehors des limites d'un Buffer.
ERR_STREAM_PREMATURE_CLOSEUn flux a été fermé avant d'avoir terminé la lecture ou l'écriture de toutes les données.
ERR_WORKER_OUT_OF_MEMORYUn thread Worker a épuisé sa mémoire.
FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - JavaScript heap out of memoryLe moteur V8 a épuisé sa mémoire de tas, provoquant le crash du processus Node.js.
ERR_MISSING_ARGSUn argument requis n'a pas été passé à une fonction d'API Node.js.
ERR_UNESCAPED_CHARACTERSUne chaîne contenant des caractères non échappés a été passée là où une chaîne échappée était attendue.
ERR_UNKNOWN_ENCODINGUn encodage inconnu ou non pris en charge a été passé à une API Node.js.
ERR_CRYPTO_INVALID_STATEUne opération cryptographique a été effectuée dans un état invalide.
ERR_DLOPEN_FAILEDLe chargement d'un addon natif (fichier .node C++) a échoué.
ERR_OSSL_EVP_UNSUPPORTEDUne opération OpenSSL n'est pas prise en charge, généralement parce que Node.js 17+ utilise OpenSSL 3.0 qui désactive les algorithmes hérités.
ERR_SERVER_ALREADY_LISTENLa méthode server.listen() a été appelée alors que le serveur écoute déjà.
ERR_FS_CP_DIR_TO_NON_DIRUne tentative a été faite de copier un répertoire vers une destination qui n'est pas un répertoire.
Error: Cannot find moduleNode.js n'a pas pu localiser le module spécifié dans aucun des chemins recherchés.
ECONNABORTEDUne connexion a été interrompue, généralement à cause d'un délai d'attente côté client.
EHOSTUNREACHL'hôte cible est inaccessible, généralement à cause de problèmes de routage réseau.
ENETUNREACHLe réseau est inaccessible ; aucune route vers le réseau cible n'a pu être trouvée.
ERR_ASSERTIONUne assertion du module assert de Node.js a échoué.
TypeError: Converting circular structure to JSONJSON.stringify() a rencontré un objet avec des références circulaires qui ne peut être sérialisé en JSON.
TypeError: Method called on incompatible receiverUne méthode a été appelée avec une valeur 'this' qui n'est pas du type attendu.
TypeError: Cannot delete property of objectUne tentative a été faite pour supprimer une propriété non configurable d'un objet en mode strict.
TypeError: Cannot convert a Symbol value to a stringUne conversion implicite d'un Symbol en chaîne a été tentée, ce qui n'est pas autorisé.
TypeError: Cannot add property, object is not extensibleUne tentative a été faite pour ajouter une propriété à un objet rendu non extensible.
SyntaxError: Applying delete to unqualified name in strict modeL'opérateur delete a été utilisé sur un simple nom de variable en mode strict, ce qui n'est pas autorisé.
SyntaxError: Missing initializer in const declarationUne variable const a été déclarée sans valeur initiale.
SyntaxError: JSON.parse: bad parsingMessage d'erreur spécifique à Firefox pour un JSON invalide transmis à JSON.parse().
ERR_STREAM_WRITE_AFTER_ENDUne tentative d'écriture sur un flux a été effectuée après sa clôture.
ERR_HTTP2_STREAM_ERRORUne erreur est survenue sur un flux HTTP/2.
ERR_CHILD_PROCESS_STDIO_MAXBUFFERUn processus enfant a produit plus de sortie que ne le permet la limite maxBuffer.
ERR_INVALID_RETURN_VALUEUne fonction a renvoyé une valeur d'un type inattendu.
ERR_UNHANDLED_REJECTIONNode.js est configuré pour lever une exception sur les rejets de promesses non gérés, et un tel rejet a été détecté.
ERR_ASYNC_CALLBACKUne valeur non fonctionnelle a été transmise là où un callback asynchrone était attendu.
ERR_PACKAGE_PATH_NOT_EXPORTEDUn sous-chemin d'un paquet a été importé alors qu'il n'est pas défini dans le champ exports du paquet.
ERR_IMPORT_ASSERTION_TYPE_FAILEDUne assertion d'import a spécifié un type qui ne correspond pas au type réel du module.
ERR_NETWORK_IMPORT_DISALLOWEDUn import réseau (HTTP/HTTPS) a été tenté mais n'est pas autorisé par la configuration actuelle de Node.js.
ERR_INSPECTOR_ALREADY_ACTIVATEDL'inspecteur (débogueur) Node.js a été activé plus d'une fois.
DOMException: InvalidStateErrorUne opération a été tentée sur un objet qui se trouve dans un état invalide pour cette opération.
DOMException: DataCloneErrorUn objet n'a pas pu être cloné via l'algorithme de clonage structuré.