Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

153
Vistas
¿Puedes mapear el orden de ejecución de la siguiente expresión en JavaScript?

Describa también por qué esta declaración se ejecuta de esa manera.

Estoy confundido porque el operador < tiene mayor prioridad en la siguiente declaración. Después de la ejecución de x > 0 , la ejecución debería ir por el operador && pero no se está ejecutando. Así que estoy confundido acerca de cuál es el orden de ejecución y por qué se ejecuta de esa manera.

¡Gracias por tu tiempo!

El código es el siguiente:

 let x = 1; x > 0 || alert() && "hii"
about 4 years ago · Juan Pablo Isaza
3 Respuestas
Responde la pregunta

0

Si echas un vistazo a la precedencia de los operadores .

  • > tiene la máxima prioridad
  • && es el siguiente por prioridad
  • || es el siguiente por prioridad

Entonces la expresión se ejecuta como:

 (x > 0) || (alert() && "hii")

En este caso x > 0 es true . Porque JavaScript || cortocircuitos si el primer operando es verdadero, el segundo operando no será evaluado.

Es como:

 fun1() || func2()

Si el valor de retorno de fun1() es verdadero, func2() no se ejecutará en absoluto.

about 4 years ago · Juan Pablo Isaza Denunciar

0

No hay necesidad de usar el lado derecho del || porque el lado izquierdo ya es verdadero, por lo que no importa cuál sea el lado derecho, no podría cambiar el resultado de todos modos (tanto true || true como true || false se evaluaría como true ). Por lo tanto, no es necesario evaluar nada más que x > 0 para obtener un resultado inequívoco, alert() && "hii" se omite y el valor de retorno es true (el resultado de x > 0 ). (Esto se llama cortocircuito o evaluación condicional.) Ver docs .

about 4 years ago · Juan Pablo Isaza Denunciar

0

Si probaste esto:

 let x = 1; x > 0 || alert() && false

La salida sería true , esto se debe a que && se ejecuta antes que || operador, "hii" se evalúa como verdadero, por lo que esto lo confundió al pensar que algo andaba mal, ya que ( true || alert() && true dará el mismo resultado que true || (alert() && true) .

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda