Error.isError()

JavaScript 🟡 Mid

Dé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.
#core#ES2026#node24

Fiche mise à jour le 2026-09-27

← → au clavier pour passer d'une fiche à l'autre