Cómo el if/else decide qué hace tu código

Clase 9 de 27Curso Gratis de Programación Básica

Contenido del curso

Resumen

Programar sin condicionales es como tener un empleado que solo sabe hacer una cosa, pase lo que pase. Las condicionales en JavaScript te permiten que tu código decida solo, reaccione al contexto y se ramifique según lo que esté ocurriendo. Aquí aprendes a escribir un if/else, a usar operadores de comparación y, sobre todo, a detectar el bug silencioso que casi nadie ve venir.

¿Qué es una condición en programación y por qué transforma tu código?

Una condición convierte tu código de una línea recta en un árbol con ramas. Sin condiciones, todo pasa en orden: paso uno, paso dos, paso tres. Con condiciones, el flujo se bifurca cada vez que algo puede ir de dos maneras.

Piensa en Okini un sábado a las 11 de la mañana. Llegas a reservar una cata. La persona en la barra revisa cupos: si hay, te confirma; si no, te ofrece la lista de espera. Esa decisión, traducida a código, es exactamente un if/else.

¿Qué es una condición en código? Es una instrucción que evalúa si algo es verdadero o falso y, según el resultado, ejecuta una rama u otra del programa.

¿Cómo se escribe un if/else en JavaScript paso a paso?

Abre VS Code, crea un archivo llamado condiciones.js y escribe esto:

javascript // Datos de la condición const cupoCata = 8; const inscritos = 5;

// Condicional de cata abierta o llena if (cupoCata > inscritos) { console.log("Hay cupos, abrir reserva"); } else { console.log("Cata llena, ofrecer lista de espera"); }

La estructura es simple:

  • La palabra if (en español, si) abre la condición.
  • Entre paréntesis va la pregunta que se evalúa.
  • Entre llaves, lo que pasa cuando es verdadera.
  • La palabra else (en español, sino) cubre el caso contrario.

Al ejecutar, imprime Hay cupos, abrir reserva porque 8 es mayor que 5. Si cambias inscritos a 8 y vuelves a correr, el mismo código imprime Cata llena, ofrecer lista de espera. La condición se evalúa cada vez que el código corre, con los valores que tenga en ese momento.

¿Para qué sirven los comentarios en tu código?

Los comentarios son notas que pones con // y que la máquina ignora. Sirven para que tú o cualquier persona que lea el código entienda qué está pasando. Son especialmente útiles cuando trabajas con inteligencia artificial, porque muchas herramientas documentan el código generado exactamente así.

¿Cuáles son los operadores de comparación en JavaScript?

El signo > que usaste en el if es un operador de comparación. En JavaScript existen seis y todos devuelven un booleano (true o false):

  • > mayor que.
  • < menor que.
  • >= mayor o igual que.
  • <= menor o igual que.
  • === igual a.
  • !== distinto de.

Dos detalles que importan. Primero, la igualdad se compara con triple signo de igual (===), no con uno solo. Por ahora, confía y usa siempre tres. Segundo, como todos devuelven true o false, conectan directo con los booleanos: la condición de un if siempre se reduce a uno de esos dos valores, y según ese resultado el código toma una rama u otra.

¿Cómo predecir qué imprime un condicional antes de ejecutarlo?

Mira este fragmento:

javascript const tazasReservadasHoy = 47; const maxTazasDia = 50;

if (tazasReservadasHoy >= maxTazasDia) { console.log("Día lleno"); } else { console.log("Aún hay disponibilidad"); }

47 no es mayor ni igual que 50, así que se va por else e imprime Aún hay disponibilidad. Predecir antes de ejecutar es el hábito que separa a quien copia código de quien lo entiende.

¿Cuál es el bug más común al usar condicionales y cómo detectarlo?

Aquí viene la parte que más importa. Mira este código que corre sin errores y aun así está mal:

javascript const cantidadTazas = 0;

if (cantidadTazas > 2) { console.log("Rechazar reserva"); } else { console.log("Reserva confirmada"); }

La variable vale cero. Cero no es mayor que 2, así que el programa confirma una reserva de cero tazas sin quejarse. No hay error de sintaxis, no hay warning, nada se ve roto. Pero el resultado es absurdo.

Este es el bug más común con condiciones: un caso que el programador olvidó. La condición está bien escrita, pero está incompleta. Faltó preguntarse qué pasa si la cantidad es cero, o si es negativa.

¿Por qué un código que corre puede estar mal? Porque ejecutarse sin errores no significa que cubra todos los casos. Una condición incompleta produce resultados absurdos en silencio.

Esto se vuelve crítico cuando trabajas con inteligencia artificial. La herramienta te va a generar código que corre, y eso no quiere decir que esté bien. Tu pregunta de discernimiento siempre debe ser: ¿qué casos no manejó? Casi siempre hay uno o dos que se le pasaron, y encontrarlos es tu trabajo.

¿Cómo traduces una regla de negocio a una condición?

Cada if que escribes define qué es posible en tu sistema. En Okini, una persona puede reservar máximo dos tazas por día en preparaciones especiales. Si ya tiene una reservada y quiere una más, debería poder, porque uno más uno es dos y dos es el límite.

Tu desafío: escribe la condición que decide eso. El detalle fino está en elegir entre > y >=, porque ese pequeño cambio decide si el código deja pasar la segunda taza o la rechaza por error. Publica tu solución en las discusiones y revisa las de otras personas antes de mirar la tuya. Vas a ver que hay más de una forma razonable de escribirlo, y notar esas diferencias ya es aprender.