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; Exemple
Affectation, pas comparaison
let result = "Non actif.";
let isActive = false;
// ❌ Affectation, pas comparaison
if (isActive = true) {
let result = "Actif !";
}
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");
Exemple
Accéder à une propriété manquante renvoie simplement undefined silencieusement.
const user = {};
let result = user.name; 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');