À retenir
- La valeur est utilisée avant d'être diminuée.
- La variable diminue toujours de exactement 1.
- Elle s'écrit avec deux signes moins placés après la variable (
x--).
La post-décrémentation est une opération qui consiste à soustraire 1 à une variable, mais avec une subtilité de timing : on utilise d'abord la valeur actuelle de la variable dans un calcul ou une commande, et on ne la diminue qu'une fois cette action terminée. C'est un peu comme si vous donniez un bon de réduction à un client : il l'utilise pour son achat actuel, et ce n'est qu'après qu'il ne l'a plus en main pour la suite.
Étymologie
Composé du préfixe latin post- (signifiant « après ») et du terme décrémentation (diminution). C'est un calque de l'anglais post-decrement, utilisé pour décrire la position du symbole de soustraction après la variable.
Exemples d'usage
- En JavaScript : si
let a = 10; let b = a--;, alorsbvaut 10 (la valeur avant baisse) etavaut désormais 9. - Dans une boucle
while(i--), la condition vérifie siiest vrai (non nul) avant de le réduire de 1 pour le tour suivant.
Cas d'usage
On l'utilise principalement dans les langages hérités du C (C++, Java, JavaScript, PHP) pour parcourir des listes à l'envers ou pour manipuler des compteurs dans des boucles de manière compacte. C'est très courant dans la gestion des piles (stacks) pour récupérer un élément avant de déplacer l'index.
Bonnes pratiques
Évitez d'utiliser la post-décrémentation à l'intérieur d'opérations mathématiques complexes sur une seule ligne. Cela rend le code difficile à lire et peut induire en erreur sur le moment exact où la valeur change. Si la lisibilité prime, préférez décrémenter sur une ligne séparée.
Synonymes
Antonymes
Conseil
Pour bien vous en souvenir, regardez la position du symbole : si les -- sont à la fin (post), la soustraction passe en dernier. C'est une astuce visuelle simple pour ne plus confondre l'ordre des étapes.
Questions fréquentes
Quelle est la différence avec la pré-décrémentation ?
Dans la pré-décrémentation (--x), on retire 1 AVANT d'utiliser la valeur. Dans la post-décrémentation (x--), on retire 1 APRÈS l'usage.
Est-ce que cela fonctionne sur des textes ?
Non, la décrémentation s'applique uniquement aux types de données numériques (entiers ou nombres à virgule).