Erreurs silencieuses en JavaScript

Erreurs silencieuses

JavaScript peut échouer silencieusement.

Une erreur silencieuse ne stoppe pas votre programme ; l'exécution continue.

La raison des erreurs silencieuses est historique :

La première version de JavaScript n'avait pas d'exceptions catch...try.

Remarque

Les erreurs silencieuses sont des problèmes qui ne déclenchent pas d'exceptions ni n'arrêtent l'exécution, mais qui causent tout de même des bogues logiques, des comportements inattendus ou des échecs faciles à manquer.

Voici quelques exemples d'erreurs silencieuses courantes, avec des exemples à essayer :

Exemple

Les erreurs silencieuses ne stopperont pas votre programme.

let x = 1 / 0;
Essayez-le vous-même »

Exemple

Affectation, pas comparaison

let result = "Non actif.";
let isActive = false;

// ❌ Affectation, pas comparaison
if (isActive = true) {
let result = "Actif !";
}
Essayez-le vous-même »

Explication

L'instruction (isActive = true) assigne true à isActive, au lieu de vérifier l'égalité avec (isActive == true).

La ligne suivante s'exécute silencieusement et imprime "Actif !", même si isActive est faux.

Exemple

De nombreuses opérations numériques qui échouent produisent NaN (pas une exception).

JavaScript ne plante pas. Il vous donne simplement NaN silencieusement et continue.

// NaN - pas d'erreur, juste des données incorrectes
const result = parseInt("abc");
Essayez-le vous-même »

Exemple

Accéder à une propriété manquante renvoie simplement undefined silencieusement.

const user = {};
let result = user.name;
Essayez-le vous-même »


Exemple

JavaScript force les types différemment selon l'opérateur.

La coercition de type cache des bogues. Le programme continue, mais la logique est incorrecte.

let result1 = ('5' + '2');
let result2 = ('5' - '2');
Essayez-le vous-même »