QCM sur Javascript avec des réponses pour la préparation des tests techniques, des tests en ligne, aux examens et aux certifications. Ces questions et réponses sont tirés d’un vrai entretien écrit et certaines parties sont en direct.
1. Que remarquez-vous dans le code JavaScript suivant ?
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
var count = [1,,3];
var count = [1,,3];
var count = [1,,3];
A La valeur omise prend la valeur « undefined »
B Il en résulte une erreur
C Il en résulte une exception
D La valeur omise prend une valeur de type entier
A
Si vous omettez une valeur dans un littéral de tableau, l’élément omis se voit attribuer une valeur undefined.
2. Que fait le code JavaScript suivant ?
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
if(!a[i])continue;
if(!a[i]) continue;
if(!a[i]) continue;
A Sauter les éléments définis
B Sauter les éléments existants
C Sauter les éléments nuls
D Sauter les éléments définis et existants
C
L’instruction if du code ci-dessus vérifie si la valeur de a[i] existe ou non. Pour les valeurs indéfinies, inexistantes et nulles, l’instruction if renvoie true.
3. Quel sera le résultat du code JavaScript suivant ?
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
var a = [1,2,3,4,5];
a.slice(0,3);
var a = [1,2,3,4,5];
a.slice(0,3);
var a = [1,2,3,4,5];
a.slice(0,3);
A[1,2,3]
B[4,5]
C[1,2,3,4]
D[1,2,3,4,5]
A
La fonction .slice() est une fonction prédéfinie en JavaScript utilisée pour garder les éléments à partir du point de départ et du point d’arrivée mentionnés dans l’argument de la fonction. Les éléments situés après le dernier élément et avant le premier élément ne sont pas affichés.
4. Combien de méthodes statiques l’objet Date possède-t-il ?
A 2
B 3
C 4
D 5
A
Un objet Date est créé à l’aide du constructeur new Date(). L’objet Date définit deux méthodes statiques : Date.parse() et Date.UTC().
5. Lesquelles des méthodes suivantes sont des méthodes statiques en JavaScript ?
A Date.parse()
B Date.UTC()
C Date.parse() et Date.UTC()
D Date.clear()
C
Les objets Date sont créés à l’aide du constructeur new Date(). Date.parse() analyse la représentation d’une chaîne de caractères d’une date et d’une heure et renvoie la représentation interne en millisecondes de cette date. Date.UTC() renvoie la représentation en millisecondes de la date et de l’heure UTC spécifiées.
6. Quel est le résultat du RegEx suivante:
/java(script)?/
/java(script)?/
A Elle correspond à « java » suivi du mot « script » optionnel
B Elle correspond à « java » suivi d’un nombre quelconque de « script ».
C Il correspond à « java » suivi d’un minimum d’un « script ».
D Il correspond à « java » suivi d’un seul « script ».
A
les paranthèses () vérifient la présence facultative de l’argument dans la chaîne. la sous-expression /java(script)?/ correspond à « java » suivi du mot « script » optionnel.
7. La méthode qui effectue l’opération de recherche et de remplacement sur les chaînes de caractères pour la recherche de motifs est _______.
A searchandreplace()
B add()
C edit()
D replace()
D
La méthode replace() effectue une opération de recherche et de remplacement. Elle prend une expression régulière comme premier argument et une chaîne de remplacement comme second argument. Exemple:
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
let str = "Alex a une maison bleue et une voiture bleue";
let res = str.replace(/bleue/g, "rouge");
//Résultat: Alex a une maison rouge et une voiture rouge
let str = "Alex a une maison bleue et une voiture bleue";
let res = str.replace(/bleue/g, "rouge");
//Résultat: Alex a une maison rouge et une voiture rouge
let str = "Alex a une maison bleue et une voiture bleue";
let res = str.replace(/bleue/g, "rouge");
//Résultat: Alex a une maison rouge et une voiture rouge
8. Quel sera le résultat du code JavaScript suivant ?
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
console.log(Pattern.matches("[amn]", "abcd"));
console.log(Pattern.matches("[amn]", "abcd"));
console.log(Pattern.matches("[amn]", "abcd"));
A true
B false
C undefined
D a
B
La méthode pattern.matches permet de vérifier si l’expression régulière correspond au motif. Le code ci-dessus donnera un résultat false car la chaîne « abcd » ne figure pas parmi a, m ou n.
9. Quel sera le résultat du code JavaScript suivant ?
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
console.log(Pattern.matches("[amn]?", "a"));
console.log(Pattern.matches("[amn]?", "a"));
console.log(Pattern.matches("[amn]?", "a"));
A true
B false
C undefined
D a
A
Le code ci-dessus teste la présence d’un seul caractère dans une chaîne de caractères donnée. Le symbole ? est utilisé avec le « [ ] » pour tester la présence d’une seule occurrence.
10. Quel sera le résultat du code JavaScript suivant ?
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
console.log(Pattern.matches("\\d", "1"));
console.log(Pattern.matches("\\d", "1"));
console.log(Pattern.matches("\\d", "1"));
A true
B false
C undefined
D 1
A
Le code ci-dessus teste la présence d’un seul chiffre. //d renvoie true si le chiffre n’apparaît qu’une seule fois.
11. Quel sera le résultat du code JavaScript suivant ?
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
Console.log(Pattern.matches("[adf]+", "a"));
Console.log(Pattern.matches("[adf]+", "a"));
Console.log(Pattern.matches("[adf]+", "a"));
A true
B false
C undefined
D 0
A
Le signe « + » dans les expressions régulières vérifie qu’un caractère particulier est présent plus d’une fois. Il renvoie true si un caractère de l’ensemble est présent plus d’une fois.
12. Quel sera le résultat du code JavaScript suivant ?
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
console.log(Pattern.matches("[^abc]", "aemngq"));
console.log(Pattern.matches("[^abc]", "aemngq"));
console.log(Pattern.matches("[^abc]", "aemngq"));
A true
B false
C undefined
D 1
B
« ^ » est utilisé comme opérateur de négation. Le code ci-dessus affichera false car « a » est présent dans la chaîne passée en argument.
13. Étant donné un tableau d’entiers, laquelle des opérations suivantes NE modifiera PAS le tableau d’origine en JavaScript ?
A arr.sort()
B arr.push(5)
C […arr, 5]
D arr.pop()
C
L’opération […arr, 5] crée un nouveau tableau avec les éléments de arr suivis de 5 et ne modifie pas le tableau original. Les autres opérations (sort(), push(5), et pop()) modifient le tableau original.
14. Un programmeur s’attend à ce que le code JavaScript suivant mette à jour un tableau, mais ce n’est pas le cas: Quelle est l’erreur ?
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
const arr = [1, 2, 3]; arr = [4, 5, 6];
const arr = [1, 2, 3]; arr = [4, 5, 6];
const arr = [1, 2, 3]; arr = [4, 5, 6];
A Réaffectation d’un tableau de constantes
B Syntaxe incorrecte pour la mise à jour d’un tableau
C Utilisation d’un type de données incorrect
D Aucune de ces réponses
A
L’erreur consiste à tenter de réaffecter un tableau constant. En JavaScript, const empêche la réaffectation de la variable arr. Pour mettre à jour un tableau défini avec const, il faut modifier ses éléments, et non réaffecter la variable.
15 Pourquoi
string.split('').reverse().join('')
string.split('').reverse().join('') en JavaScript renvoie-t-il une chaîne inversée ?
A La méthode split divise incorrectement la chaîne de caractères
B La méthode reverse ne fonctionne pas sur les chaînes de caractères
C La méthode join concatène de manière incorrecte
D Aucune des réponses ci-dessus
D
La méthode split( ») divise la chaîne en un tableau de caractères, reverse( ») inverse le tableau et join( ») concatène le tableau inversé en une chaîne. Cette séquence d’opérations inverse correctement la chaîne de caractères.