Adloun

JavaScript : rendre le Web interactif (école d'ingénieur) · Chapitre 4 · Application directe du cours

Où est stock ?

Portée, fermetures et this · niveau 1 (application)

Énoncé

Prévoir les quatre lignes affichées.


const stock = 10;

function vendre(quantite) {
  const stock = 4;
  if (quantite <= stock) {
    const reste = stock - quantite;
    console.log("A", reste);
  }
  console.log("B", stock);
  return typeof reste;
}

console.log("C", vendre(3));
console.log("D", stock);

Corrigé


A 1
B 4
C undefined
D 10

Dans vendre, la constante locale stock (4) masque celle du module : , le bloc s'exécute et reste vaut 1 (A). Après le bloc, stock est toujours la constante locale (B), et reste n'est plus visible : typeof renvoie "undefined" (C). Le stock du module n'a jamais changé (D). Remarquer l'ordre : A et B s'affichent pendant l'appel, donc avant C.

100 % gratuit

La suite du chapitre est sur Adloun

Exercice suivant et tuteur

Sans compte : le cours et le premier QCM. Exercices et tuteur : inscription gratuite en 30 secondes, sans carte bancaire.

Le cours du chapitre · Tous les exercices du chapitre

Exercice suivant et tuteur →