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

109
Vistas
¿Por qué un operando indefinido no devuelve falso?

Dado lo siguiente:

 let a; let b = false; let c = a && b === undefined;

Según tengo entendido, undefined es un valor falso, entonces, ¿por qué c tiene un valor undefined en lugar de false ?

about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

c termina undefined porque a no está undefined . El operador && se detiene con el primer valor que es falso a través de un proceso llamado cortocircuito .

about 4 years ago · Juan Pablo Isaza Denunciar

0

Dado su ejemplo, a no está definido. Por lo tanto, a && ... es undefined && ... , y dado que indefinido es falso, el lado izquierdo tiene un cortocircuito . Eso significa que nunca evalúa el lado derecho.

Si el lado izquierdo es falso, no hay nada que el lado derecho de un && pueda hacer para cambiar eso. Para usar una analogía, false && anything siempre se evalúa como false y, en JavaScript, se detiene allí e ignora anything .

Ahora, la pregunta puede ser: "¿Por qué no devuelve false en lugar de undefined ?" MDN dice :

El operador lógico AND, &&

Si el primer objeto es falso, devuelve ese objeto.

 false && "dog" // ↪ false 0 && "dog" // ↪ 0
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