Comparaisons & logique
| Opérateur | Effet |
|---|---|
== != < <= > >= | comparer deux valeurs, produire un booléen |
&& | ET logique — les deux opérandes doivent être booléens |
| [` | |
! | négation booléenne |
== != < <= > >= : comparer deux valeurs, produire un booléen
Comparer des valeurs dont les types n'ont aucun recouvrement — un nombre avec une chaîne, par exemple — ne peut jamais être vrai. Le compilateur avertit (TF2367) plutôt que de laisser le mapping renvoyer silencieusement false à jamais. Retirer le littéral incompatible corrige le problème — c'est un avertissement, pas une erreur, donc le mapping s'exécute quand même.
typeflow
isAdult: user.age >= 18
isAdmin: user.role == "admin"
passed: user.score > 50&& : ET logique — les deux opérandes doivent être booléens
&&, || et ! exigent des opérandes booléens — pas de truthiness sur les chaînes ou les nombres. user.active && user.age est rejeté (TF2004) puisque age n'est pas booléen.
typeflow
canPost: user.active && user.verified|| : OU logique — les deux opérandes doivent être booléens
typeflow
needsReview: !user.verified || user.age < 16! : négation booléenne
typeflow
blocked: !user.verifiedPlayground
{ "canPost": false, "needsReview": true }
type inféré
{ canPost: boolean; needsReview: boolean }Suite : Conditionnelles.