Quiz : Maîtrisez‑vous le JavaScript moderne ?
Prouvez votre maîtrise JavaScript !
Connaissez‑vous l’ES2015 de l’ES2022 ?
- Prouvez votre maîtrise de JavaScript ! 🚀
- Aucun login ou inscription requis. ✨
- Choix multiples. 🤖 … À quel point cela peut‑il être difficile, hein ?
Quelle est la valeur de result ?
console.log(null ?? 100);L’opérateur de coalescence des nuls (??) renvoie l’opérande du côté droit (b) si l’opérande du côté gauche (a) est null ou undefined. Dans ce cas, a vaut null, donc result vaut 100.
Vérifiez précisément le fonctionnement de cet opérateur JavaScript. La réponse tentante correspond souvent à une ancienne syntaxe plutôt qu’à cette fonctionnalité.
Quel sera le résultat du code suivant ?
const value = false;const defaultVal = 42;console.log(value ?? defaultVal);L’opérateur de coalescence des nuls (??) considère les valeurs falsy comme false comme des valeurs valides. Comme value vaut false, il est considéré comme une valeur valide et est renvoyé.
Vérifiez précisément le fonctionnement de cet opérateur JavaScript. La réponse tentante correspond souvent à une ancienne syntaxe plutôt qu’à cette fonctionnalité.
Quel est le résultat du code suivant ?
const obj = { foo: null };const result = obj.foo?.bar;console.log(result);L’opérateur de chaînage optionnel (?.) interrompt l’évaluation si le côté gauche est null ou undefined. Comme obj.foo vaut null, obj.foo?.bar évalue à undefined.
Vérifiez précisément le fonctionnement de cet opérateur JavaScript. La réponse tentante correspond souvent à une ancienne syntaxe plutôt qu’à cette fonctionnalité.
Quel est le résultat du code suivant ?
const a = 42n;const result = a * 2n;console.log(result);Les valeurs BigInt sont créées en ajoutant n à un nombre. Vous ne pouvez pas mélanger BigInt et nombres ordinaires dans les opérations arithmétiques. Ici, les deux valeurs sont des BigInt, donc la multiplication fonctionne, produisant 84n.
Vérifiez précisément le fonctionnement de cet opérateur JavaScript. La réponse tentante correspond souvent à une ancienne syntaxe plutôt qu’à cette fonctionnalité.
Que cela affiche-t-il ?
const modulePromise = import('./myModule.js');console.log(typeof modulePromise);La fonction import() renvoie une Promise qui se résout en l’objet du module. Comme les instances de Promise sont des objets, typeof modulePromise affiche 'object'.
Vérifiez précisément le fonctionnement de cet opérateur JavaScript. La réponse tentante correspond souvent à une ancienne syntaxe plutôt qu’à cette fonctionnalité.
Quel sera le résultat du code suivant ?
const promises = [ Promise.resolve('success'), Promise.reject('error')];Promise.allSettled(promises).then(results => { console.log(results[0].status + ': ' + results[0].value);});Promise.allSettled renvoie un tableau d’objets décrivant le résultat de chaque promesse. La première promesse est fulfilled avec la valeur 'success', donc l’instruction console affichera fulfilled: success.
Vérifiez précisément le fonctionnement de cet opérateur JavaScript. La réponse tentante correspond souvent à une ancienne syntaxe plutôt qu’à cette fonctionnalité.
Que renvoie str.matchAll() ?
const str = 'foo1bar2baz3';const matches = str.matchAll(/\d/g);String.matchAll renvoie un itérateur de correspondances, pas un tableau. Cet itérateur peut être utilisé pour obtenir tous les groupes correspondants d’une chaîne.
Vérifiez précisément le fonctionnement de cet opérateur JavaScript. La réponse tentante correspond souvent à une ancienne syntaxe plutôt qu’à cette fonctionnalité.
Que représente import.meta.url ?
console.log(import.meta.url);import.meta est un objet qui contient des métadonnées sur le module actuel. La propriété import.meta.url représente l’URL du module actuel, qui peut être utilisée pour obtenir des informations sur l’emplacement d’exécution du script.
Vérifiez précisément le fonctionnement de cet opérateur JavaScript. La réponse tentante correspond souvent à une ancienne syntaxe plutôt qu’à cette fonctionnalité.
Quelle est la valeur de a après l’assignation logique ?
let a = null;a ||= 10;console.log(a);L’assignation logique OU (||=) attribue la valeur de droite si la valeur de gauche est falsy (null, undefined, 0, false, etc.). Puisque a vaut null, elle reçoit la valeur 10.
Vérifiez précisément le fonctionnement de cet opérateur JavaScript. La réponse tentante correspond souvent à une ancienne syntaxe plutôt qu’à cette fonctionnalité.
Quelle est la valeur de b après l’affectation par coalescence des nuls ?
let b = null;b ??= 10;console.log(b);L’affectation par coalescence des nuls (??=) attribue la valeur de droite si la valeur de gauche est null ou undefined. Comme b vaut null, elle reçoit la valeur 10.
Vérifiez précisément le fonctionnement de cet opérateur JavaScript. La réponse tentante correspond souvent à une ancienne syntaxe plutôt qu’à cette fonctionnalité.
Que fournit WeakRef ?
const obj = { data: 'important' };const ref = new WeakRef(obj);console.log(ref.deref());WeakRef fournit une référence faible à un objet, ce qui permet à l’objet d’être récupéré par le ramasse‑miettes s’il n’existe aucune autre référence. Comme obj est encore fortement référencé ici, deref() renvoie l’objet original. Si la cible avait été libérée, deref() renverrait undefined.
Vérifiez précisément le fonctionnement de cet opérateur JavaScript. La réponse tentante correspond souvent à une ancienne syntaxe plutôt qu’à cette fonctionnalité.
