Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

145
Views
¿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 answers
Answer question

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 Report

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 Report

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!