QCM – Programmer en JavaScript
Examen de Fin de Module (EFM)
OFPPT – Formatrice : Mme Hafsa BENALLAL
Nom et Prénom : …………………………………………………… Groupe : ……………… Date :
………………
Partie 1 – Rôle de JavaScript et architecture Web
1. JavaScript est un langage :
A) Compilé
B) Interprété
C) Les deux à la fois
D) Ni l'un ni l'autre
2. Qui exécute le code JavaScript côté client ?
A) Le serveur
B) Le navigateur Web
C) La base de données
D) Le compilateur
3. Quelle entreprise a développé JavaScript à l'origine ?
A) Microsoft
B) Google
C) Netscape
D) Oracle
4. Parmi ces langages, lequel est un langage compilé ?
A) JavaScript
B) PHP
C) C++
D) Python
5. Quel protocole est utilisé pour la communication entre un navigateur et un serveur Web ?
A) FTP
B) HTTP
C) SMTP
D) SSH
6. Quelle méthode HTTP est utilisée pour récupérer une ressource spécifique ?
A) POST
B) GET
C) DELETE
D) PUT
7. Quel code de statut HTTP signifie « ressource introuvable » ?
A) 200
B) 403
C) 404
D) 500
8. Quel logiciel gratuit est recommandé dans le cours pour écrire et déboguer du code
JavaScript ?
A) Eclipse
B) Visual Studio Code
C) NetBeans
D) Bloc-notes
9. Lequel des éléments suivants n'est PAS une librairie/framework front-end ?
A) [Link]
B) Angular JS
C) [Link]
D) [Link]
Partie 2 – Variables, types de données et opérateurs
10. Quel mot-clé permet de déclarer une variable dont la valeur ne peut pas être réassignée ?
A) var
B) let
C) const
D) static
11. Quelle est la portée d'une variable déclarée avec let à l'intérieur d'un bloc { } ?
A) Globale
B) Limitée au bloc (block scope)
C) Limitée à la fonction uniquement
D) Aucune portée définie
12. Que retourne l'expression typeof "5" ?
A) "number"
B) "string"
C) "boolean"
D) "undefined"
13. Quelle est la valeur de x après l'instruction : let x = "5" + 1; ?
A) 6
B) "51"
C) 51 (de type nombre)
D) NaN
14. Que retourne Number("") (une chaîne vide) ?
A) NaN
B) 0
C) undefined
D) Une erreur
15. Quelle est la différence entre les opérateurs == et === en JavaScript ?
A) Aucune différence, ils sont identiques
B) === compare la valeur ET le type, == compare uniquement la valeur
C) == est réservé aux nombres
D) === n'existe pas en JavaScript
16. Que retourne l'expression typeof null ?
A) "null"
B) "undefined"
C) "object"
D) "boolean"
17. Quelle méthode affiche un message dans une boîte de dialogue du navigateur ?
A) [Link]()
B) [Link]()
C) [Link]()
D) [Link]()
18. Quelle méthode est la plus pratique pour déboguer du code dans la console du navigateur ?
A) [Link]()
B) [Link]()
C) alert()
D) prompt()
Partie 3 – Structures de contrôle (conditions et boucles)
19. Quelle instruction permet d'exécuter un bloc de code si une condition est vraie, et un autre
bloc sinon ?
A) switch
B) if...else
C) for
D) while
20. Quel mot-clé permet de sortir d'un bloc switch après l'exécution d'un cas ?
A) stop
B) exit
C) break
D) return
21. Quelle boucle exécute le bloc d'instructions au moins une fois, même si la condition est
fausse ?
A) for
B) while
C) do...while
D) for...in
22. Quelle boucle est utilisée pour parcourir les propriétés (clés) d'un objet ?
A) for
B) for...in
C) for...of
D) while
23. Quelle boucle est utilisée pour parcourir les éléments d'un tableau ou d'une chaîne de
caractères ?
A) for...in
B) for...of
C) switch
D) do...while
24. Que fait l'instruction continue à l'intérieur d'une boucle ?
A) Elle arrête définitivement la boucle
B) Elle ignore l'itération courante et passe à la suivante
C) Elle relance la boucle depuis le début
D) Elle n'a aucun effet
25. Combien de fois le bloc sera-t-il exécuté dans : for (let i = 0; i < 5; i++) { ... } ?
A) 4 fois
B) 5 fois
C) 6 fois
D) Indéfiniment
Partie 4 – Fonctions, callbacks, promesses et exceptions
26. Quel mot-clé permet de définir une fonction classique en JavaScript ?
A) func
B) def
C) function
D) lambda
27. Que se passe-t-il si on appelle une fonction avec moins d'arguments que de paramètres
déclarés ?
A) Une erreur de syntaxe est levée
B) Les paramètres manquants valent undefined
C) JavaScript les remplace automatiquement par 0
D) Le programme s'arrête
28. Quelle est l'écriture correcte d'une fonction fléchée qui additionne a et b ?
A) function(a,b){return a+b}
B) (a, b) => a + b
C) a, b => return a + b
D) func(a,b) -> a+b
29. Qu'est-ce qu'une fonction de rappel (callback) ?
A) Une fonction qui s'exécute automatiquement au démarrage
B) Une fonction passée en argument à une autre fonction et exécutée par celle-ci
C) Une fonction sans aucun paramètre
D) Une fonction qui retourne toujours undefined
30. Combien d'états possibles une Promise peut-elle avoir ?
A) 2 (résolue / rejetée)
B) 3 (en attente / résolue / rejetée)
C) 4
D) 1 seul état
31. Quelle méthode d'une promesse s'exécute quoi qu'il arrive, qu'elle soit résolue ou rejetée ?
A) then()
B) catch()
C) finally()
D) resolve()
32. Quel bloc permet de tester et de gérer les erreurs d'exécution en JavaScript ?
A) if...else
B) try...catch
C) switch
D) for...catch
33. Quelle instruction permet de générer (lever) une erreur personnalisée ?
A) error()
B) throw
C) catch
D) raise
34. Quel type d'erreur est levé en cas d'erreur de syntaxe dans le code JavaScript ?
A) RangeError
B) SyntaxError
C) TypeError
D) ReferenceError
Corrigé
1-B 2-B 3-C 4-C 5-B
6-B 7-C 8-B 9-C 10-C
11-B 12-B 13-B 14-B 15-B
16-C 17-C 18-A 19-B 20-C
21-B 22-B 23-A 24-B 25-C
26-B 27-B 28-B 29-C 30-B
Format : numéro de question – lettre de la bonne réponse.