En quelle année Brendan Eich a-t-il créé JavaScript chez Netscape ?
Réponse : 1995
Brendan Eich a conçu JavaScript en 1995 chez Netscape, en une dizaine de jours. Le langage n'a aucun lien de parenté avec Java, malgré le nom.
Révisez le thème JavaScript & TypeScript : voici une sélection de questions de tous niveaux, avec la réponse et une explication. Pour vous tester sans voir les réponses, jouez aux quiz.
Jouer aux quiz JavaScript & TypeScriptRéponse : 1995
Brendan Eich a conçu JavaScript en 1995 chez Netscape, en une dizaine de jours. Le langage n'a aucun lien de parenté avec Java, malgré le nom.
Réponse : let
let déclare une variable à portée de bloc, réaffectable. const interdit la réaffectation, et var a une portée de fonction.
Réponse : string
L'opérateur typeof renvoie une chaîne décrivant le type de la valeur : pour une chaîne de caractères, le résultat est string.
Réponse : true
L'opérateur == compare après conversion : '0' devient le nombre 0. Avec === les types doivent aussi être identiques, et le résultat serait false.
Réponse : length
La propriété length donne le nombre d'éléments d'un tableau : [1, 2, 3].length vaut 3.
Réponse : querySelector
querySelector accepte n'importe quel sélecteur CSS et renvoie le premier élément trouvé, ou null si aucun ne correspond.
Réponse : Enregistrer une fonction appelée quand un événement se produit
addEventListener attache une fonction à un élément pour un type d'événement, comme un clic. Elle est appelée chaque fois que l'événement se produit.
Réponse : JSON.stringify
JSON.stringify transforme une valeur JavaScript en texte JSON ; JSON.parse fait l'inverse.
Réponse : ES6 (ECMAScript 2015)
ES6, publié en 2015, a introduit let et const, les fonctions fléchées et les classes.
Réponse : undefined
Avec var, la déclaration remonte (hoisting) mais pas l'affectation : x existe déjà, avec la valeur undefined. Avec let, le même accès lève une ReferenceError.
Réponse : À celui de la fonction englobante, défini à l'endroit où la fonction est écrite
Une fonction fléchée n'a pas de this propre : elle reprend celui de l'endroit où elle est définie.
Réponse : Une fonction qui conserve l'accès aux variables de la portée où elle a été créée
Une closure garde l'accès aux variables de la fonction englobante, même après la fin de l'exécution de cette dernière.
Réponse : undefined
undefined est la valeur d'une variable déclarée sans affectation. null représente une absence de valeur choisie explicitement par le programmeur.
Réponse : [2, 4]
filter garde les éléments pour lesquels la fonction renvoie true : ici les nombres pairs.
Réponse : Une promesse qui sera résolue avec la valeur 10
La valeur de résolution du then est le résultat de la fonction de rappel : ici 5 multiplié par 2, soit 10.
Réponse : Toujours une promesse
Une fonction async renvoie toujours une promesse : la valeur de return est enveloppée, et une exception devient un rejet.
Réponse : 2012
TypeScript, dirigé par Anders Hejlsberg, est publié par Microsoft en octobre 2012 : c'est un surensemble typé de JavaScript.
Réponse : Une valeur unknown doit être vérifiée avant usage, alors que any désactive cette vérification
any désactive la vérification de types sur la valeur. unknown oblige à restreindre le type avant tout usage, ce qui protège le code.
Réponse : Il conserve le type de l'argument reçu et le renvoie tel quel
T est une variable de type : TypeScript la déduit de l'argument à chaque appel, ce qui garde le type précis du résultat.
Réponse : Par la structure : ce que l'objet possède compte, pas le nom déclaré
TypeScript est structurel : un objet est compatible s'il possède les propriétés attendues avec les bons types, même sans déclaration explicite.
Réponse : La file des microtâches, comme les promesses
Les rappels des promesses forment la file des microtâches, que la boucle vide entièrement entre deux tâches. Les macrotâches, comme setTimeout, sont traitées une par une.
Réponse : Dans le prototype de l'objet, puis dans la chaîne de prototypes
La recherche remonte la chaîne de prototypes. Si la propriété n'existe nulle part, la valeur lue est undefined, sans erreur.
Réponse : strict
strict: true active notamment strictNullChecks et noImplicitAny. Chacune de ces options peut aussi être réglée séparément.
Réponse : npm
npm lit le fichier package.json et installe les dépendances dans le dossier node_modules.
Jouer aux quiz JavaScript & TypeScript