¿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
alertretornaundefined, por lo que OR se dirige al segundo operando buscando un valor truthy. - El segundo operando
2es 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).