Maîtrise les opérateurs arithmétiques, de comparaison, logiques et d'affectation en JavaScript.
Les opérateurs arithmétiques effectuent des calculs mathématiques sur les nombres :
| Opérateur | Nom | Exemple | Résultat |
|---|---|---|---|
+ | Addition | 5 + 3 | 8 |
- | Soustraction | 10 - 4 | 6 |
* | Multiplication | 3 * 7 | 21 |
/ | Division | 15 / 4 | 3.75 |
% | Modulo (reste) | 10 % 3 | 1 |
** | Exponentiation | 2 ** 4 | 16 |
JavaScript suit l'ordre des opérations standard (PEMDAS) : Parenthèses, Exponentiation, Multiplication/Division, Addition/Soustraction. Utilise des parenthèses pour clarifier ton intention.
Il existe également les opérateurs d'incrémentation (++) et de décrémentation (--) qui ajoutent ou soustraient 1 :
let count = 5;
count++; // count vaut maintenant 6
count--; // count revient à 5Les opérateurs de comparaison comparent deux valeurs et retournent un booléen (true ou false) :
| Opérateur | Signification | Exemple | Résultat |
|---|---|---|---|
=== | Égalité stricte | 5 === 5 | true |
!== | Inégalité stricte | 5 !== '5' | true |
== | Égalité souple | 5 == '5' | true |
!= | Inégalité souple | 5 != '5' | false |
< | Inférieur à | 3 < 7 | true |
> | Supérieur à | 10 > 20 | false |
<= | Inférieur ou égal | 5 <= 5 | true |
>= | Supérieur ou égal | 8 >= 10 | false |
Utilise toujours l'égalité stricte (=== et !==). L'égalité souple (==) effectue une coercition de type, ce qui peut mener à des résultats inattendus :
0 == '' // true (tous deux convertis en falsy)
0 === '' // false (nombre vs chaîne de caractères)
null == undefined // true (règle de coercition spéciale)
null === undefined // false (types différents)Les opérateurs logiques combinent ou inversent des expressions booléennes :
| Opérateur | Nom | Description |
|---|---|---|
&& | ET | Retourne true si les deux opérandes sont truthy |
|| | OU | Retourne true si au moins un opérande est truthy |
! | NON | Inverse la valeur booléenne |
true && true // true
true && false // false
true || false // true
false || false // false
!true // false
!false // trueJavaScript utilise l'évaluation en court-circuit : avec &&, si le premier opérande est falsy, le second n'est jamais évalué. Avec ||, si le premier opérande est truthy, le second n'est jamais évalué.
Valeurs truthy et falsy : Dans un contexte booléen, ces valeurs sont falsy : 0, "" (chaîne vide), null, undefined, NaN, et false. Tout le reste est truthy, y compris [], {}, et "0".
<div id="results"></div>
<script>
const a = 10;
const b = 3;
const sum = a + b; // 13
const remainder = a % b; // 1
const power = a ** 2; // 100
const isEqual = a === b; // false
const isGreater = a > b; // true
const bothTrue = isGreater && !isEqual; // true
const results = document.getElementById('results');
results.innerHTML = `
<p>${a} + ${b} = ${sum}</p>
<p>${a} % ${b} = ${remainder}</p>
<p>${a} ** 2 = ${power}</p>
<p>${a} === ${b} is ${isEqual}</p>
<p>${a} > ${b} is ${isGreater}</p>
<p>Both conditions: ${bothTrue}</p>
`;
</script>Que retourne 5 === '5' ?