Une erreur apparemment mineure dans l'utilisation des opérateurs JavaScript a provoqué une panne de production où tous les avatars utilisateur ne pouvaient pas être chargés. Le développeur a utilisé `||` au lieu de `??`, ce qui a remplacé les valeurs falsy comme les chaînes vides, cassant les URLs des images. Cet incident souligne l'importance de comprendre la différence entre l'opérateur OU logique (`||`) et l'opérateur de coalescence nulle (`??`). `||` renvoie l'opérande droit pour toute valeur falsy (0, '', false, null, undefined), tandis que `??` ne le fait que pour null ou undefined. Le bug a été découvert grâce aux signalements des utilisateurs, et la correction a été un changement d'un seul caractère. Pour les équipes d'ingénierie, c'est un rappel puissant d'adopter des règles ESLint et d'inclure des vérifications spécifiques aux opérateurs dans les revues de code. L'histoire a largement résonné sur les forums de développeurs chinois, suscitant des discussions sur la programmation défensive et les tests de cas limites.
Un développeur a accidentellement utilisé `||` au lieu de `??` en JavaScript, provoquant l'échec de tous les avatars utilisateur en production. Cela met en évidence la différence cruciale entre l'opérateur de coalescence nulle et l'opérateur OU logique. Les équipes devraient renforcer leurs pratiques de linting et de revue de code.