Bonjour !

Je reviens avec une question simple(je crois), j'ai un exercice à réaliser et je ne comprends pas bien la logique avec laquelle on doit lire les conditions if :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
"use strict"
let a = -1;
let b = 0;
 
if (a) {
  b++;
}
 
if (a && a++) {
  b++;
}
if (a || a++) {
  b++;
}
if (!a && a++) {
  b++;
}
if (!a || a++) {
   b++;
}
console.log(a, b);
Le résultat en console est
a= 2 / b = 3
Mais je ne comprends pas du tout comment on est arriver à là ni comment je dois lire cela.
Concrètement pour le premier if par exemple : si a(-1) est bien -1 alors b(0) gagne +1? à ce niveau la console indique bien a=-1 et b=1
Mais après je ne suis plus : si a(-1) et a++(-1+1=0) , comment lit-on cela? car a est à la fois -1 et 0, pourtant à la fin la console indique que a=0 ; Aussi je ne comprends pas bien la condition ici, si a est vrai? vrai par rapport à quoi ?
Désolé si je n'exprime pas très bien la question.