¿Cuál es el resultado de las alertas aplicadas al operador OR?
importancia: 3
¿Cuál será la salida del siguiente código?
alert( alert(1) || 2 || alert(3) );
La repuesta: primero 1
, después 2
.
alert( alert(1) || 2 || alert(3) );
La llamada a alert
no retorna un valor. O, en otras palabras, retorna undefined
.
- El primer OR
||
evalúa el operando de la izquierdaalert(1)
. Eso muestra el primer mensaje con1
. - El
alert
retornaundefined
, por lo que OR se dirige al segundo operando buscando un valor verdadero. - El segundo operando
2
es un valor verdadero, por lo que se detiene la ejecución, se retorna2
y es mostrado por el alert exterior.
No habrá 3
debido a que la evaluación no alcanza a alert(3)
.