03
Opérateurs
Arithmétique, Logique & Short-circuiting
+ - * /Maths
%Modulo
===Strict
&& || !Logique
??Nullish
?.Optional
⚖️ Égalité : Le Combat == vs ===
En JS, n'utilisez JAMAIS l'égalité faible (==). Elle effectue une
coercition de type imprévisible.
| Expression | Résultat | Pourquoi ? |
|---|---|---|
| 5 == "5" | true | Coercition (String → Number) |
| 5 === "5" | false | Types différents (Number vs String) |
| null == undefined | true | Considérés égaux faiblement |
| null === undefined | false | Types différents |
| [] == ![] | true | WTF Javascript... |
⚡ Short-Circuiting (Court-circuit)
Les opérateurs logiques s'arrêtent dès que le résultat est sûr. C'est très utile pour des conditions concises.
// 1. OR (||) : Cherche le premier TRUTHY
// Utile pour les valeurs par défaut (Fallback)
const name = inputName || "Anonyme";
// 2. AND (&&) : S'arrête au premier FALSY
// Utile pour exécuter si condition vraie
isLogged && showAdminPanel();
// 3. Nullish Coalescing (??)
// Comme || mais ignore 0 et "" (juste null/undefined)
const score = 0;
const affichage = score || 10; // 10 (Car 0 est falsy) ❌
const correct = score ?? 10; // 0 (Car 0 est défini) ✅
🎛️ Logic Playground
Résultat...
Astuce Pro : L'opérateur
?? (Nullish Coalescing) est arrivé avec ES2020.
Il est indispensable pour gérer correctement les `0` et les `false` dans les options de configuration,
là où `||` échouait souvent.