3.10 Exercice Echanger les Variables
Pour clôturer cette section sur les opérateurs, voici un petit exercice de programmation. Déclarez deux variables : let a = 'rouge'; et let b = 'bleu';. Si on les affiche directement sur la console, on obtient évidemment 'rouge' puis 'bleu'. Le but de l'exercice est d'écrire du code qui permute la valeur des deux variables, pour qu'au moment d'afficher a puis b, on obtienne 'bleu' puis 'rouge'.
Mettez la vidéo en pause et essayez de trouver la solution par vous-même avant de regarder la correction. C'est un classique des questions d'entretien et un excellent test de logique de débutant.
Correction avec une variable temporaire
L'astuce essentielle : on ne peut pas écraser directement a par b sans perdre la valeur originale de a. Il faut donc une troisième variable, c, pour sauvegarder temporairement la valeur de a. Voici la suite des opérations :
let c = a;— on sauvegarde'rouge'dansc.a = b;—areçoit'bleu'(les deux variables valent maintenant'bleu').b = c;—breçoit la valeur d'origine dea, donc'rouge'.
Voici le code complet :
let a = 'rouge';
let b = 'bleu';
let c = a;
a = b;
b = c;
console.log(a, b); // 'bleu' 'rouge'
L'échange est terminé : a contient 'bleu' et b contient 'rouge'. Cette technique fonctionne pour n'importe quel type de valeur. Voilà pour ce petit exercice de fin de section. On se retrouve dans la prochaine partie du cours pour découvrir les différents types d'instructions conditionnelles en JavaScript.
En résumé
Cet exercice pratique vous demande d'échanger les valeurs de deux variables JavaScript (a et b). La solution consiste à utiliser une troisième variable comme zone de stockage temporaire : vous sauvegardez d'abord la valeur initiale de a, puis vous copiez b dans a, et enfin vous copiez la valeur sauvegardée dans b, ce qui permute complètement les deux valeurs.
Points clés
- Déclarer deux variables avec des valeurs distinctes (ex : a = 'rouge', b = 'bleu')
- Créer une variable temporaire pour stocker une valeur avant qu'elle ne soit écrasée
- Effectuer l'échange en trois étapes : sauvegarde → copie croisée → restauration
- Valider le résultat avec console.log() pour vérifier que les valeurs ont été échangées
- Comprendre pourquoi une variable intermédiaire est nécessaire (sinon une valeur serait perdue)
Questions fréquentes
Pourquoi ne peut-on pas simplement faire a = b et b = a ?
Parce que si vous faites a = b en premier, la valeur originale de a est écrasée et perdue. La variable b ne peut alors pas récupérer la vraie valeur de a. C'est pourquoi il faut une variable temporaire pour sauvegarder l'une des valeurs avant de l'écraser.
Comment vérifier que l'échange a réussi ?
Utilisez console.log(a, b) avant et après l'échange. Au début, vous voyez les valeurs originales ; à la fin, après l'échange, les valeurs sont inversées.
La variable temporaire c sert-elle à quelque chose après l'échange ?
Non, une fois l'échange terminé, la variable temporaire c n'est plus utile. Elle a servi uniquement d'intermédiaire de stockage pendant le processus d'échange.