Cargando...

Truthy y falsy

Ya sabes convertir con String(), Number() y Boolean(). Lo siguiente es ver cómo se comportan los valores dentro de una decisión — antes del capítulo completo de if / else. Los que actúan como «no» se llaman falsy. Casi todo lo demás es truthy. Aprende la lista corta falsy una vez; evita muchas confusiones después.

¿Qué son truthy y falsy en JavaScript?

Falsy significa: en una condición, JavaScript trata el valor como false. Truthy significa: como true. No es un tipo nuevo — los mismos números y cadenas. Puedes previsualizar con Boolean(value) o escribir if (value) con la misma regla. Al empezar basta la lista falsy; el resto suele ser truthy.

La lista falsy

📊 Valores falsy que debes conocer

Valor Por qué se siente «vacío / no» Nota
false el no booleano palabra clave
0 cero numérico también -0
"" cadena vacía longitud 0
null vacío a propósito sesión anterior
undefined aún sin valor sesión anterior
NaN número fallido typeof sigue "number"

Esa es la lista inicial. Memoriza falsy, no un catálogo infinito de truthy. Si no está en la lista, trátalo como truthy hasta que una lección diga lo contrario.

Ver falsy con Boolean()

Boolean(...) es una vista previa clara. Cada valor de la lista se vuelve false.

Mapa falsy con Boolean()

javascript
console.log(Boolean(false));
console.log(Boolean(0));
console.log(Boolean(""));
console.log(Boolean(null));
console.log(Boolean(undefined));
console.log(Boolean(NaN));

Para principiantes, lo normal es truthy

Cadenas no vacías, la mayoría de números y el propio true son truthy. Las primeras sorpresas suelen ser textos que parecen «no» pero tienen caracteres.

Ejemplos truthy para empezar

javascript
console.log(Boolean(1));
console.log(Boolean(-3));
console.log(Boolean("hi"));
console.log(Boolean("0"));
console.log(Boolean("false"));
console.log(Boolean(" "));

"0" y "false" son truthy porque son texto no vacío. Un espacio " " también es truthy — entre cadenas normales solo "" (longitud cero) es falsy.

if sin llamar a Boolean()

Un if (value) simple usa la misma regla. No hace falta if (Boolean(value)). El estilo de ramas completo llega después; aquí solo la puerta sí/no.

if usa truthy y falsy

javascript
let name = "Ada";
if (name) {
console.log("name is truthy");
}

let empty = "";
if (empty) {
console.log("will not run");
} else {
console.log("empty string is falsy");
}

Trampas de cadena: "0" y "false"

Formularios y APIs suelen enviar texto. La cadena "0" no es el número 0. La cadena "false" no es el booleano false. Ambas son truthy.

Trampas de cadena con aspecto falsy

javascript
console.log(Boolean("0"));
console.log(Boolean(0));
console.log(Boolean("false"));
console.log(Boolean(false));
console.log("0" === 0);

Cadena vacía frente a un espacio

Entre cadenas ordinarias solo "" con longitud cero es falsy. Un espacio sigue siendo contenido.

Cadena vacía frente a un espacio

javascript
console.log(Boolean(""));
console.log(Boolean(" "));
console.log("".length);
console.log(" ".length);

Controla el mensaje de la página con un valor

Decide qué ve el visitante con un solo valor. Cámbialo y recarga.

Puerta de página con truthy / falsy

html
<!DOCTYPE html>
<html>
<head>
<title>Truthy falsy — page gate</title>
</head>
<body>
<p id="msg">…</p>
<script>
let user = "Sam";
let box = document.getElementById("msg");
if (user) {
box.textContent = "Hello, " + user;
} else {
box.textContent = "Please sign in";
}
</script>
</body>
</html>

Pon user en "" o null, recarga: el mensaje pasa a la línea de inicio de sesión. Misma regla falsy — ahora en la página.

Pruébalo tú

  1. Registra Boolean de cada ítem de la lista falsy.
  2. Registra Boolean("0") y Boolean(0) juntos.
  3. Registra Boolean(" ") y Boolean("") — espacio frente a vacío.
  4. Escribe un if (score) pequeño con score = 0 y luego score = 5.
  5. En el demo HTML pon user = "", recarga y lee el mensaje.
  6. Cambia user a "0" y verás que el saludo sigue (cadena truthy).

Errores frecuentes

  • Tratar "false" o "0" como falsy — son cadenas no vacías
  • Creer que siempre debes envolver Boolean() — if (value) ya coercióna
  • Memorizar todos los truthy en vez de la lista corta falsy
  • Confundir el número 0 (falsy) con la cadena "0" (truthy)
  • Olvidar null, undefined o NaN en la lista

Resumen

  • Falsy: actúa como false en una condición — aprende la lista corta
  • Truthy: actúa como true — la mayoría de valores cotidianos
  • Vista previa con Boolean(value) o directo if (value)
  • Trampas: "0" y "false" son truthy
  • Siguiente: operadores — símbolos para calcular y comparar

🧠 Pon a Prueba tu Conocimiento

Listo para Empezar

Pon a Prueba tu Conocimiento

Ponte a prueba con este cuestionario interactivo y descubre qué tan bien entiendes el tema

❓
8
Preguntas
🎯
70%
Para Aprobar
♾️
∞
Tiempo
🔄
∞
Intentos

📝 Instrucciones

  • Lee cada pregunta cuidadosamente
  • Selecciona la mejor respuesta para cada pregunta
  • Puedes repetir el quiz tantas veces como quieras
  • Tu progreso se mostrará en la parte superior