Généré en français avec l'IA à partir de notre quiz anglais ; les sources renvoient vers Wikipédia en français.
Né en quelques jours chez Netscape, JavaScript est devenu le langage des pages web interactives, puis des serveurs avec Node.js. Son histoire mêle querelles de navigateurs, standardisation et un écosystème de paquets sans équivalent. Ce quiz revient sur ses origines, les éditions du standard ECMAScript, la sécurité dans le navigateur, Ajax et JSON, puis sur les subtilités du langage : portée des variables, fermetures, prototypes et opérateurs. Des questions de culture web aux détails que seuls les développeurs connaissent.
Les 30 questions avec réponses et explications. Jouer au quiz
Q 01Qui a créé JavaScript en 1995 ?
Brendan Eich
Le langage a d'abord été intégré au navigateur Netscape Navigator 2.0 ; il s'inspire de Java tout en simplifiant la syntaxe pour les débutants.
Q 02Quel opérateur JavaScript sert à la fois à l'addition et à la concaténation ?
+
Il sert également à la conversion de chaînes de caractères en nombres.
Q 03Via quelle interface fournie par le navigateur JavaScript interagit-il avec le document HTML ?
DOM
On parle alors parfois de HTML dynamique ou DHTML ; JavaScript peut aussi manipuler des documents SVG, XUL et d'autres dialectes XML.
Q 04Que vérifie l'opérateur === en JavaScript ?
Égalité de valeur et de type
Son contraire s'écrit !== ; l'opérateur == se contente, lui, de comparer les contenus, par exemple deux chaînes en tenant compte de la casse.
Q 05De quel langage JavaScript reprend-il la syntaxe des commentaires ?
C++
Il est en revanche interdit d'imbriquer les commentaires les uns dans les autres.
Q 06Que signifie l'acronyme Ajax ?
Asynchronous JavaScript And XML
Ces techniques découplent l'échange de données avec le serveur de l'affichage de la page, ce qui permet de la modifier sans la recharger.
Q 07Quels mots-clés, introduits dans ECMAScript 6, déclarent une variable à portée de bloc ?
let et const
Une fonction est un bloc particulier ; depuis que les navigateurs modernes les prennent en charge, utiliser var est considéré comme une mauvaise pratique.
Q 08Quel mécanisme détruit automatiquement les objets qui ne sont plus référencés ?
Ramasse-miettes
La destruction explicite d'objet est donc rarement pratiquée en JavaScript, car elle est peu nécessaire.
Q 09Quel nom portait JavaScript avant d'être rebaptisé quelques jours avant sa sortie ?
LiveScript
Le nouveau nom servait les intérêts de Netscape et de son partenaire Sun, dont la machine virtuelle Java gagnait en popularité ; la confusion entre les deux langages perdure.
Q 10En combien de temps le langage JavaScript a-t-il été créé, en mai 1995 ?
10 jours
Son auteur avait d'abord développé un langage de script côté serveur pour renforcer l'offre de serveur HTTP de Netscape Communications Corporation.
Q 11Comment se nommait l'implémentation de JavaScript par Microsoft dans Internet Explorer ?
JScript
Microsoft l'a inclus dans Internet Explorer 3.0 en août 1996 et l'a conservé jusqu'à la version 9 du navigateur.
Q 12Sur quel moteur JavaScript repose Node.js ?
V8
Cette plateforme de développement d'applications réseau suit aussi les spécifications CommonJS, projet indépendant du comité Ecma chargé d'ECMAScript.
Q 13Sur quel mécanisme repose l'orientation objet de JavaScript ?
Prototypes
Les objets de base n'y sont pas des instances de classes, et les fonctions sont des objets de première classe ; le langage est aussi impératif et fonctionnel.
Q 21Quel objet JavaScript sert à la méthode Ajax pour ses requêtes HTTP vers le serveur ?
XMLHttpRequest
La réponse, longtemps au format XML, tend à être remplacée par JSON, qui a l'avantage d'être natif en JavaScript.
Q 22Sous quel format binaire les nombres sont-ils représentés en JavaScript ?
IEEE-754 double
Ce format offre 14 à 15 chiffres significatifs, mais ne représente pas toujours exactement les nombres décimaux, en particulier les fractions.
Q 23Quelle édition du standard ECMAScript a été publiée en juin 2022 ?
13e
La 4e édition, elle, n'a jamais vu le jour : une partie de son développement a été intégrée à la 6e.
Q 14Avec quelle société Netscape annonce-t-il la sortie de JavaScript le 4 décembre 1995 ?
Sun
Le communiqué commun présentait JavaScript comme un complément à Java, deux langages proches par la syntaxe mais très différents dans leurs concepts.
Q 15Quelle mise en œuvre d'ECMAScript est utilisée dans Adobe Flash ?
ActionScript
JavaScript sert aussi à scripter Photoshop ou Illustrator, ce qui donne des scripts indépendants de la plate-forme.
Q 16Quel numéro porte le standard qui spécifie le langage ECMAScript ?
ECMA-262
La standardisation a eu lieu en juin 1997, d'où l'habitude de désigner les versions par ECMAScript ou ES suivi d'un numéro ou d'une année.
Q 17Quelle société détient aujourd'hui la marque déposée « JavaScript » aux États-Unis ?
Oracle
La marque avait été attribuée le 6 mai 1997 à Sun Microsystems, racheté en 2009.
Q 18Combien de paquets le gestionnaire de dépendances npm comptait-il en septembre 2022 ?
2 millions
Cet écosystème, le plus large de tous les langages, s'étend aussi aux serveurs grâce à Node.js ou Deno.
Q 19À quelle valeur sont pré-initialisées les variables déclarées avec var ?
undefined
Ce comportement, la remontée de variable, les rend accessibles dès le début de leur portée ; les variables let et const sont au contraire inaccessibles avant leur déclaration.
Q 20Quelle fonctionnalité de programmation asynchrone la 6e édition du standard introduit-elle ?
Promesses
Publiée en juin 2015, cette édition apporte aussi les modules, les classes, les itérateurs, les générateurs et la portée lexicale au niveau des blocs.
Q 24Quel langage a indirectement influencé le système de prototype objet de JavaScript ?
Self
La syntaxe emprunte surtout à Java, avec un héritage d'Awk et de Perl, d'après le premier paragraphe des spécifications JavaScript 1.1.
Q 25Quel comité Ecma pilote le développement ouvert et annuel du standard ECMAScript ?
TC39
La 7e édition, publiée en juin 2016, fut la première issue de ce processus, développée à partir d'un document texte mis en ligne sur GitHub.
Q 26À quelle valeur est égal le prototype de Object.prototype, ce qui arrête la recherche de nom ?
null
Quand la recherche échoue tout au long de la chaîne, JavaScript génère une erreur de résolution de nom.
Q 27Qui recommande pour sa lisibilité la syntaxe (function (…) { … }(…)); ?
Douglas Crockford
Les parenthèses indiquent à l'analyseur qu'elles contiennent une expression ; d'autres formes comme !function (…) { … }(…); forcent le même résultat.
Q 28Sous quel numéro l'ISO/CEI a-t-elle publié le standard ECMAScript en avril 1998 ?
16262
La 2e édition du standard Ecma, en juin 1998, n'a apporté que des changements rédactionnels pour se conformer à cette version internationale.
Q 29De quelle propriété interne dépend en théorie l'ensemble des propriétés balayées par for..in ?
DontEnum
Dans la pratique, chaque navigateur renvoie un ensemble de propriétés différent pour cette boucle, qui peut aussi parcourir un tableau.
Q 30Qui a lancé le projet CommonJS en janvier 2009 ?
Kevin Dangoor
Le projet vise à spécifier un écosystème JavaScript hors du navigateur, sur le serveur ou pour des applications de bureau natives.