¿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) );
Una llamada a alert
no retorna un valor relevante. Siempre retorna undefined
.
- El primer OR
||
comienza evaluando el operando de la izquierdaalert(1)
. Este alert muestra el primer mensaje con1
. - Ese mismo
alert
retornaundefined
, por lo que OR se dirige al segundo operando buscando un valor truthy. - El segundo operando
2
es un valor truthy, por lo que el OR detiene su ejecución y retorna el 2. Este 2 es luego mostrado por el alert exterior.
No habrá 3
debido a que la evaluación nunca alcanza a alert(3)
.