Error.isError()
JavaScript 🟡 MidDéfinition
Méthode statique (Stage 4, listée par TC39 pour ES2026) qui indique si une valeur est un vrai objet Error, y compris DOMException, via une marque interne posée par le constructeur, comme Array.isArray. Elle fonctionne entre realms (iframe, vm, worker) là où instanceof Error échoue, et rejette un objet qui n'a fait qu'emprunter Error.prototype. Livrée dans V8 13.6 (Node.js 24) ; support navigateur encore incomplet selon MDN.
Analogie
Vérifier le tampon officiel d'un document plutôt que le papier à en-tête, qui s'imite.
Exemple de code
try {
throw 'chaîne brute';
} catch (e) {
if (!Error.isError(e)) e = new Error(String(e)); // normaliser
console.error(e.message);
}
Error.isError(new TypeError()); // true
Error.isError({ __proto__: Error.prototype }); // false
// Erreur venue d'une iframe : instanceof Error → false, isError → true
Cas d'usage
Bibliothèques de journalisation, frontières iframe/worker/vm, normalisation des valeurs rejetées.
Anti-pattern
Se fier à instanceof Error dans du code multi-realm : faux négatifs garantis.
Termes liés
Sources
Fiche mise à jour le 2026-09-27