Quel est le résultat des alertes OR ?
importance: 3
Qu’est-ce que le code ci-dessous va sortir ?
alert( alert(1) || 2 || alert(3) );
La réponse : d’abord 1
puis 2
.
alert( alert(1) || 2 || alert(3) );
Règle importante à retenir : L’appel de l’alert
ne renvoie pas de valeur. Ou, en d’autres termes, il retourne undefined
.
- Le premier OR
||
évalue son opérande gauchealert(1)
. Cela affiche le premier message avec1
. - L’
alert
retourneundefined
, donc OR passe au deuxième opérande en recherchant une valeur vraie. - Le deuxième opérande
2
est vrai, donc l’exécution est interrompue,2
est renvoyé puis affiché par l’alerte externe.
Il n’y aura pas de 3
, car l’évaluation n’atteint pas l’alert (3)
.