QCMUP.COM

Liste QCM JavaScript Corrigé – Partie 3

Entraînez-vous avec des questions corrigées, progressez étape par étape, puis consolidez vos notions grâce aux définitions et explications.

30 questions Réponses expliquées Réviser → Pratiquer
Liste QCM JavaScript Corrigé – Partie 3 – JavaScript

Maîtriser les boucles en JavaScript, c’est apprendre à automatiser des actions et à traiter des données sans réécrire les mêmes instructions.

Dans les études et les examens, ces notions reviennent souvent parce qu’elles sont au cœur de la logique algorithmique : répéter un traitement, parcourir un tableau, inspecter un objet, ou encore arrêter une exécution au bon moment.

Les QCM de cette page vous entraînent sur les structures classiques comme for, while et do...while, mais aussi sur des syntaxes plus modernes telles que for...of et des méthodes de tableau comme forEach() et map().

Vous verrez également des points qui font la différence en pratique : la gestion du compteur, les indices de départ, l’impact d’une condition mal définie et les risques d’une boucle qui tourne sans fin.

L’objectif est de vous donner des réflexes solides et une compréhension claire du déroulement d’un script.

Maîtriser les boucles en JavaScript, c’est apprendre à automatiser des actions et à traiter des données sans réécrire les mêmes instructions.

Dans les études et les examens, ces notions reviennent souvent parce qu’elles sont au cœur de la logique algorithmique : répéter un traitement, parcourir un tableau, inspecter un objet, ou encore arrêter une exécution au bon moment.

Les QCM de cette page vous entraînent sur les structures classiques comme for, while et do...while, mais aussi sur des syntaxes plus modernes telles que for...of et des méthodes de tableau comme forEach() et map().

Vous verrez également des points qui font la différence en pratique : la gestion du compteur, les indices de départ, l’impact d’une condition mal définie et les risques d’une boucle qui tourne sans fin.

L’objectif est de vous donner des réflexes solides et une compréhension claire du déroulement d’un script.

QCM 1 Corrigé

Quelle est la fonction principale d'une boucle en JavaScript ?

A. Déclarer une nouvelle variable
B. Répéter un bloc de code plusieurs fois
C. Changer la couleur d'une page HTML
D. Supprimer définitivement des données
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : B

Justification :
Une boucle permet d'automatiser des tâches répétitives sans réécrire le même code.

QCM 2 Corrigé

Quelle boucle est idéale lorsque l'on connaît à l'avance le nombre d'itérations ?

A. for
B. while
C. switch
D. if
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : A

Justification :
La boucle 'for' regroupe l'initialisation, la condition et l'incrémentation, ce qui facilite le comptage.

QCM 3 Corrigé

Que risque-t-il d'arriver si la condition d'une boucle 'while' est toujours vraie ?

A. Le code s'arrête après 10 tours
B. La variable devient nulle
C. Une boucle infinie qui bloque le navigateur
D. Le script s'exécute plus rapidement
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : C

Justification :
Si la condition reste 'true', la boucle ne s'arrête jamais, consommant toutes les ressources du système.

QCM 4 Corrigé

Dans une boucle for (let i = 0; i < 5; i++), que signifie 'i++' ?

A. Diminuer i de 1 à chaque tour
B. Multiplier i par 2
C. Vérifier si i est égal à 5
D. Augmenter i de 1 à chaque tour
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : D

Justification :
'i++' est l'opérateur d'incrémentation, il ajoute 1 à la variable après chaque passage.

QCM 5 Corrigé

Quelle boucle s'exécute au moins une fois, même si sa condition est fausse dès le départ ?

A. do...while
B. for...in
C. while
D. for
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : A

Justification :
Contrairement à 'while', 'do...while' exécute le code avant de tester la condition.

QCM 6 Corrigé

Quelle méthode moderne est souvent utilisée pour parcourir chaque élément d'un tableau ?

A. forEach()
B. map_all()
C. loop_array()
D. repeat()
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : A

Justification :
forEach() est une méthode de tableau pratique qui applique une fonction sur chaque élément.

QCM 7 Corrigé

Comment arrêter prématurément une boucle avant que la condition ne soit remplie ?

A. stop
B. break
C. exit
D. return_false
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : B

Justification :
Le mot-clé 'break' interrompt immédiatement l'exécution de la boucle en cours.

QCM 8 Corrigé

Quelle instruction permet de passer directement à l'itération suivante sans finir le code actuel de la boucle ?

A. next
B. skip
C. continue
D. jump
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : C

Justification :
'continue' ignore le reste du bloc de code pour le tour actuel et passe au suivant.

QCM 9 Corrigé

Quelle syntaxe permet de parcourir les valeurs d'un objet itérable (comme un tableau) ?

A. for...values
B. for...each
C. for...at
D. for...of
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : D

Justification :
La boucle 'for...of' est introduite en ES6 pour récupérer directement les valeurs d'un itérable.

QCM 10 Corrigé

Quelle boucle est particulièrement adaptée pour parcourir les propriétés (clés) d'un objet ?

A. for...in
B. for...keys
C. while...in
D. do...for
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : A

Justification :
'for...in' itère sur les propriétés énumérables d'un objet JavaScript.

QCM 11 Corrigé

Soit 'let i = 10; while(i > 0) { i--; }'. Combien de fois la boucle s'exécute-t-elle ?

A. 0 fois
B. 10 fois
C. 11 fois
D. 9 fois
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : B

Justification :
La boucle part de 10 et descend jusqu'à 1 inclus (s'arrête à 0), soit 10 itérations.

QCM 12 Corrigé

Quel est l'index de départ classique pour parcourir un tableau avec une boucle ?

A. 1
B. -1
C. 0
D. null
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : C

Justification :
En JavaScript, les tableaux commencent toujours à l'index 0.

QCM 13 Corrigé

Dans for (initialisation; condition; incrément), quelle partie est exécutée AVANT le premier tour ?

A. La condition
B. L'incrément
C. L'initialisation
D. Toutes en même temps
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : C

Justification :
L'initialisation prépare la variable de contrôle une seule fois au début.

QCM 14 Corrigé

Que contient i à la fin de cette boucle : for (let i = 0; i < 3; i++) { } ?

A. 0
B. 2
C. 3
D. Inaccessible (erreur)
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : D

Justification :
À cause de 'let', la portée de i est limitée au bloc de la boucle ; elle est indéfinie en dehors.

QCM 15 Corrigé

Laquelle de ces syntaxes est correcte pour une boucle while ?

A. while (condition) { code }
B. while { condition } ( code )
C. while condition do { code }
D. loop while (condition) { code }
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : A

Justification :
C'est la structure standard de la boucle while en JavaScript.

QCM 16 Corrigé

Quel opérateur est souvent utilisé pour itérer à l'envers (décrémentation) ?

A. --
B. ++
C. **
D. //
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : A

Justification :
L'opérateur '--' soustrait 1 à la variable à chaque itération.

QCM 17 Corrigé

Quelle est la valeur de retour de la méthode .forEach() ?

A. Un nouveau tableau
B. undefined
C. Le nombre d'éléments
D. true
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : B

Justification :
forEach() exécute une fonction mais ne retourne rien (undefined).

QCM 18 Corrigé

Quelle condition arrêterait une boucle parcourant un tableau 'arr' ?

A. i < arr.length
B. i <= arr.length
C. i > arr.size
D. i == 0
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : A

Justification :
L'index maximum est 'length - 1', donc la condition doit être 'inférieur strictement à length'.

QCM 19 Corrigé

Lequel de ces éléments n'est PAS un itérable utilisable avec 'for...of' ?

A. Un tableau
B. Une chaîne de caractères
C. Un objet littéral simple { a: 1 }
D. Un objet Map
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : C

Justification :
Les objets simples ne sont pas itérables par défaut, il faut utiliser 'for...in'.

QCM 20 Corrigé

Quel mot-clé définit la condition de sortie dans une boucle 'do...while' ?

A. if
B. until
C. for
D. while
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : D

Justification :
La structure se termine par 'while (condition);' après le bloc 'do'.

QCM 21 Corrigé

Est-il possible d'imbriquer une boucle dans une autre boucle ?

A. Non, c'est interdit
B. Oui, pour gérer des données multidimensionnelles
C. Seulement avec deux boucles while
D. Seulement avec deux boucles for
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : B

Justification :
L'imbrication permet de parcourir des grilles (tableaux de tableaux) par exemple.

QCM 22 Corrigé

Quelle boucle est la plus ancienne et universelle dans les langages C-like ?

A. forEach
B. for...of
C. for (;;)
D. map
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : C

Justification :
La structure standard for(;;) existe depuis les débuts de la programmation moderne.

QCM 23 Corrigé

Comment s'appelle l'action d'exécuter un tour de boucle ?

A. Une itération
B. Une compilation
C. Une instanciation
D. Une incrémentation
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : A

Justification :
Chaque passage dans le bloc de code de la boucle est appelé une itération.

QCM 24 Corrigé

Pour parcourir les caractères d'une chaîne 'Bonjour', quelle boucle utiliser ?

A. for...at
B. for...string
C. while...each
D. for...of
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : D

Justification :
Une chaîne de caractères est itérable, 'for...of' permet d'extraire chaque lettre.

QCM 25 Corrigé

L'initialisation dans une boucle for est-elle obligatoire ?

A. Oui, toujours
B. Non, on peut l'omettre si la variable existe déjà
C. Seulement si on utilise 'var'
D. Seulement sur les anciens navigateurs
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : B

Justification :
On peut écrire for (; condition; incrément) si la variable est définie avant.

QCM 26 Corrigé

Que se passe-t-il si la condition d'un while est fausse dès le début ?

A. La boucle s'exécute une fois
B. Le code plante
C. La boucle ne s'exécute jamais
D. Le navigateur affiche une erreur
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : C

Justification :
La boucle 'while' vérifie la condition avant d'entrer ; si c'est false, elle est ignorée.

QCM 27 Corrigé

Quelle méthode permet de transformer chaque élément d'un tableau en un nouvel élément via une boucle ?

A. map()
B. filter()
C. reduce()
D. shift()
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : A

Justification :
map() crée un nouveau tableau en appliquant une fonction à chaque élément de l'original.

QCM 28 Corrigé

Pourquoi préférer 'let' à 'var' dans une boucle for ?

A. C'est plus court à écrire
B. Pour éviter que la variable ne 'fuite' hors de la boucle
C. Parce que 'var' ne permet pas l'incrémentation
D. Parce que 'let' est plus rapide
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : B

Justification :
'let' crée une portée de bloc, empêchant les conflits de variables globales.

QCM 29 Corrigé

Quel est le risque de modifier la variable d'incrément à l'intérieur du bloc d'un 'for' ?

A. Accélérer la boucle
B. Rendre le code plus lisible
C. Perturber le flux attendu de la boucle
D. Aucun risque
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : C

Justification :
Modifier manuellement le compteur peut fausser la condition et créer des bugs complexes.

QCM 30 Corrigé

Comment appelle-t-on une boucle qui ne s'arrête jamais ?

A. Boucle morte
B. Boucle constante
C. Boucle statique
D. Boucle infinie
Afficher la réponse Cliquez pour voir la correction

Réponse correcte : D

Justification :
Une boucle infinie est une boucle dont la condition de sortie n'est jamais atteinte.

Mots & Définitions
Consultez les définitions des termes importants.

Une boucle est une structure qui répète un bloc de code pour automatiser une action. Elle évite d’écrire plusieurs fois les mêmes instructions. C’est l’un des outils les plus utilisés pour parcourir des données et appliquer un traitement.

Une itération correspond à un “tour” de boucle, c’est-à-dire une exécution complète du bloc répété. On parle souvent d’itérations pour mesurer combien de fois un code est rejoué. Comprendre ce concept aide à prévoir le résultat d’un script.

La boucle for est adaptée lorsqu’on connaît ou qu’on peut estimer le nombre de répétitions. Elle regroupe généralement l’initialisation, la condition de poursuite et la mise à jour du compteur. Cela en fait une structure claire pour les parcours “comptés”.

La boucle while répète un bloc tant qu’une condition reste vraie. Elle est utile quand la durée de répétition dépend d’un état qui évolue au fil du programme. Si la condition est fausse dès le départ, le bloc ne s’exécute pas.

La boucle do...while exécute d’abord le bloc, puis vérifie la condition. Elle garantit donc au moins un passage, même si la condition est fausse au départ. C’est pratique pour effectuer une action initiale obligatoire avant de décider de continuer.

Une boucle infinie est une boucle qui ne s’arrête jamais, car la condition reste toujours vraie ou n’est jamais atteinte. Elle peut bloquer un navigateur ou rendre une application inutilisable. C’est souvent le résultat d’un compteur mal mis à jour ou d’une condition incorrecte.

L’incrémentation consiste à augmenter une variable, souvent un compteur, à chaque tour de boucle. L’écriture i++ signifie “ajouter 1 à i”. C’est un mécanisme classique pour avancer progressivement dans un parcours.

La décrémentation consiste à diminuer une variable, généralement pour itérer à l’envers ou atteindre une condition d’arrêt. L’opérateur -- retire 1 à la valeur. Elle est très utile pour des comptes à rebours ou des parcours inversés.

break stoppe immédiatement une boucle avant sa fin normale. On l’utilise quand on a déjà trouvé le résultat recherché ou qu’une situation impose l’arrêt. Bien placé, il rend le code plus efficace et plus clair.

continue passe directement à l’itération suivante, sans exécuter la fin du bloc courant. Il sert à ignorer certains cas tout en poursuivant la boucle. C’est un outil pratique pour filtrer des valeurs sans alourdir la logique.

for...of permet de parcourir les valeurs d’un itérable, comme un tableau, une chaîne de caractères ou une Map. Il est apprécié pour sa lisibilité, car il donne directement l’élément, sans gérer l’index à la main. Il n’est pas conçu pour parcourir un objet littéral simple sans préparation.

for...in parcourt les propriétés (clés) d’un objet. Il est utile pour explorer les noms de propriétés, mais il ne parcourt pas “les valeurs” comme le fait for...of. Il demande aussi de la prudence selon le type d’objet manipulé.

length représente le nombre d’éléments d’un tableau. On l’utilise souvent comme limite d’arrêt pour éviter de sortir des bornes. C’est un repère essentiel pour écrire des boucles correctes et sûres.

forEach() exécute une fonction pour chaque élément d’un tableau, sans créer de nouveau tableau. Elle est pratique pour effectuer une action, comme afficher ou modifier un état externe. Elle ne renvoie pas un résultat exploitable, ce qui la distingue d’autres méthodes.

map() transforme un tableau en un nouveau tableau, en appliquant une fonction à chaque élément. Elle est idéale quand on veut produire une version modifiée des données, sans toucher au tableau d’origine. C’est une approche moderne et très utilisée en JavaScript.

À propos de ce QCM

Après les QCM, il est important de comprendre ce que les boucles apportent concrètement dans un programme JavaScript.

Une boucle sert à répéter un bloc de code en s’appuyant sur une condition ou un compteur.

La boucle for est souvent choisie lorsqu’on connaît à l’avance le nombre d’itérations, car sa structure regroupe trois éléments essentiels : une initialisation, une condition de continuation et une mise à jour (incrémentation ou décrémentation).

Cette organisation aide à garder un contrôle précis du flux d’exécution.

À l’inverse, while s’utilise davantage lorsque l’on ne sait pas exactement combien de tours seront nécessaires, mais que l’on dispose d’un critère d’arrêt clair.

do...while se distingue par un détail très utile : le bloc s’exécute au moins une fois, ce qui convient aux situations où une première action est obligatoire avant toute vérification.

Un point central, souvent source d’erreurs, est le risque de boucle infinie : si la condition reste vraie ou si le compteur n’évolue pas comme prévu, le script peut se bloquer, surtout côté navigateur.

C’est aussi pour cela que des instructions comme break et continue sont importantes : break permet de sortir immédiatement d’une boucle, tandis que continue saute le reste du tour courant pour passer au suivant.

Enfin, JavaScript propose des outils modernes pour parcourir des données : for...of parcourt les valeurs d’itérables comme les tableaux ou les chaînes, alors que for...in est plutôt orienté vers les propriétés d’un objet.

Les méthodes forEach() et map() offrent une approche plus expressive : la première exécute une action sur chaque élément, et la seconde produit un nouveau tableau transformé, ce qui est très utile dans un code moderne et lisible.

En travaillant ces concepts, vous développez à la fois la précision syntaxique et le raisonnement nécessaire pour écrire des boucles fiables.

Conclusion

En conclusion, ces QCM vous aident à consolider une compétence essentielle en JavaScript : savoir répéter un traitement de manière contrôlée et intelligente.

En comprenant la différence entre les boucles, le rôle du compteur, les conditions d’arrêt et les outils modernes de parcours, vous réduisez fortement les erreurs classiques et gagnez en confiance.

Pour progresser rapidement, l’idéal est de pratiquer en parallèle sur de petits exercices : parcourir un tableau, transformer des valeurs avec map(), filtrer des cas avec continue, puis arrêter au bon moment avec break.

Avec cette régularité, les boucles deviennent naturelles et vous serez prêt à aborder des sujets plus avancés comme les tableaux multidimensionnels, les objets complexes et les algorithmes plus complets.