Appliquer la notion

Programme exemple

1
/** JavaScript */
2
const numberApple = 30
3
console.log(numberApple)
4
if(numberApple === 30) {
5
  let enoughApple = true
6
  console.log(enoughApple)
7
}
8
console.log(enoughApple)
9

Question

Réécrire le programme exemple afin qu'il ne génère pas d'erreur.

Indice

Il faut modifier la portée de la variable enoughApple.

Solution

1
/** JavaScript */
2
const numberApple = 30
3
let enoughApple = false
4
console.log(numberApple)
5
if(numberApple === 30) {
6
  enoughApple = true
7
  console.log(enoughApple)
8
}
9
console.log(enoughApple)

On déclare la variable enoughApple avant la boucle if, de façon à ce qu'elle soit visible pour celle-ci.

Question

Voici une modification du programme précédent. Qu'affiche le programme ? Pourquoi ?

1
/** JavaScript */
2
const numberApple = 30
3
let enoughApple = false
4
console.log(numberApple)
5
if(numberApple === 30) {
6
  let enoughApple = true
7
  console.log(enoughApple)
8
}
9
console.log(enoughApple)

Solution

Le programme affiche « true » puis « false » car il affiche d'abord la variable enoughApple qui est déclarée dans la boucle if, puis celle qui est déclarée au début du programme, qui sont deux variables différentes avec deux portées différentes.

Cet exemple illustre que deux variables avec le même nom peuvent référencer deux valeurs différentes, si leur portée est différente.