javascript Quizz JavaScript, entrainez vous sur ce dépôt GitHub !

Wazz9

Membre
Hello,

Un petit tour sur Corori pour vous présenter ce dépôt GitHub qui propose un petit quizz rapide sur des fonctions JS. C'est assez simple comme concept mais attention les questions ne sont pas faciles et s'adressent à un public plutôt averti.

Voici un petit exemple en mise en bouche
JavaScript
function sayHi() {
  console.log(name);
  console.log(age);
  var name = "Lydia";
  let age = 21;
}

sayHi();
Question : Quelle est la sortie ?
  • A: Lydia et undefined
  • B: Lydia et ReferenceError
  • C: ReferenceError et 21
  • D: undefined et ReferenceError

Les réponses sont facilement accessible en dessous de chaque question et sont très bien documentée. Une façon ludique d'apprendre JS.
Bon quizz à tous et n'hésitez pas à poser vos questions ici si besoin. ;)
 

Jack

Membre
Question : Quelle est la sortie ?
C'est coton la réponse !!
Faut un bon petit niveau pour répondre correctement.

Si on connait pas le minimum en JS même la réponse est difficile à comprendre !

Réponse : D​

Dans la fonction, nous déclarons en premier la variable name grâce au mot clé var. Cela signifie que la variable est "levée" (hoisted) (l'espace mémoire est définie à la phase de création) avec pour valeur par défaut undefined, jusqu'à ce que le script atteigne la ligne de définition de la variable. Nous n'avons pas encore défini la variable lorsque nous essayons d'afficher la variable name, donc elle a toujours la valeur undefined.

Les variables avec le mot clé let (et const) sont "levées" (hoisted), mais contrairement à var, elle n'est pas initialisée. Elles ne sont pas accessible avant la ligne qui les déclare (initialise). C'est appelé la "zone morte temporaire". Lorsque nous essayons d'accéder aux variables avant leur déclaration, JavaScript renvoie une ReferenceError.
 

WWWest

Membre
Je viens d'y faire un tour et c'est vrai que c'est pas évident mais c'est une manière ludique d'apprendre.
On tente une réponse, on se plante (ou pas), on découvre la réponse et comme le dit Jack on essaye de la comprendre et je pense que tout est là, en tout cas en ce qui me concerne, c'est le fait d'étudier la réponse, de la comprendre qui fait qu'on progresse.

Je trouve ça vraiment bien et on pourrait développer ce type d'exercice sur le forum.
On l'a déjà un peu fait sur un exercice il me semble.

Merci Wazz9 pour le partage.
 

Wazz9

Membre
C'est coton la réponse !!
Faut un bon petit niveau pour répondre correctement.
Franchement ?
Pas la première en tout cas... Vouloir afficher des variables avant de les avoir déclaré c'est le B-A-BA non ?
Après peut-être que définir exactement le message d'erreur est un peu plus difficile mais je vous rappelle que c'est un QCM ça facilite la réponse.
 

yule

Membre
La vache !!! Je savais que j'avais des lacunes en JS mais à ce point !! :ROFLMAO: mais pour avoir des lacunes il faut au minimum des connaissances... Donc en fait, je navigue dans le désert ! Juste pour situer mon niveau en JS !

Cependant, ce quiz et comme le précise Wazz9 est superbement documenté et très bien présenté
 

c-cadeau

Membre
En tout cas pas 3 puisque "2" est une chaine de caractère.
Peut-être C donc, à moins que JS ne renvoie une erreur car il voit un number et un string dans la somme...

Je choisis le 50/50 comme joker !
 

L'occitan

Membre
c-cadeau, tiens c'est cadeau :cool: (no merit...)
JavaScript est un langage à types dynamiques : nous n'avons pas besoin de spécifier le types des variables. Les valeurs peuvent être automatiquement converties vers les autres types sans que vous le sachiez, c'est ce que l'on appelle la conversion de types implicites (implicit type coercion).

Dans cette exemple, JavaScript convertit le nombre 1 en une chaîne de caractère, afin que la fonction ait du sens et puisse renvoyer une valeur. Durant l'addition d'un type numérique (1) et d'un type chaîne de caractère ('2'), le nombre est traité comme une chaîne de caractère. Nous pouvons concaténer les chaînes de caractères comme "Hello" + "World", c'est donc ce qui arrive ici avec "1" + "2" qui retourne "12"
 

Jack

Membre
C'est ça, en cas d'addition d'une chaine de caractère un d'un nombre c'est le nombre qui est converti en chaine de caractère et non l'inverse puisque si la chaine de caractère était "hello" par exemple cela ne pourrait pas être converti en nombre... ça semble logique.
 

Ces discussions pourraient vous intéresser...

Salut, Juste pour vous faire découvrir un site intéressant sur JavaScript via un jeu de mots croisés sur la thématique de ce langage. Vous pouvez vous y essayer à cette adresse: http://odyssey.sdlm.be/javascript/95/cross.htm
  • Résolue
Bonjour, Une question pour la mise à jour de Bootstrap quand une nouvelle version sort. Comment vous procédez ? J'utilise les CDN de bootstrap donc je me demandais ce que je devrais faire avant de les changer pour la nouvelle version ? Comment savoir ce qui va changer sur mon site internet ...
  • Résolue
Hello, Quand j'essaie de connecter mon fichier PHP à la base de données sur mon serveur local cela ne fonctionne pas. (site WordPress) ERROR ESTABLISHING A DATABASE CONNECTION Pourtant mes éléments sont bons, j'ai vérifié et revérifié. Je vous colle le code du fichier PHP correspondant à la...
Haut