Fundamentos de JavaScript

Teoría: Bucle while

Hasta ahora, hemos aprendido a escribir programas pequeños, pero a medida que avanzamos, nuestros programas empiezan a crecer y volverse más complejos. En esta lección, veremos un concepto fundamental en la programación: los bucles (loops).

Bucle while

¿Qué es un algoritmo y por qué importa?

Un algoritmo es una secuencia de pasos que seguimos para resolver un problema.

📖 Por ejemplo, cuando buscamos una frase en un libro sin saber en qué página está, la estrategia más sencilla es revisar página por página hasta encontrarla.

🔁 Este proceso repite la misma operación varias veces:

  1. Leer una página.
  2. Ver si la frase está ahí.
  3. Si no está, pasar a la siguiente.
  4. Repetir hasta encontrarla.

Eso es un bucle: repetir pasos hasta cumplir una condición.

¿Por qué necesitamos bucles?

Supongamos que queremos escribir una función que imprima en pantalla todos los números desde 1 hasta un número dado:

printNumbers(3);
// Debería mostrar:
// 1
// 2
// 3

Si alguien te pide mostrar los números del 1 al 3, podrías hacer esto:

console.log(1);
console.log(2);
console.log(3);

Pero… ¿qué pasa si te piden del 1 al 100? 😰 No vas a copiar console.log() cien veces. Aquí es donde entra el bucle while.

El bucle while

Un bucle permite repetir un bloque de código varias veces hasta que se cumpla una condición.

🌀 Piensa en while como: “Mientras esta condición sea verdadera… sigue repitiendo esto.”

const printNumbers = (lastNumber) => {
  let i = 1; // Inicializamos el contador

  while (i <= lastNumber) {  // Mientras i sea menor o igual a lastNumber
    console.log(i);          // Imprimimos el número actual
    i = i + 1;               // Sumamos 1 al contador
  }

  console.log('finished!');
};

printNumbers(3);
// Salida:
// 1
// 2
// 3
// finished!
⚠️ Es fundamental que la condición de tu bucle se vuelva falsa en algún momento. De lo contrario, tu programa entrará en un bucle infinito, lo que puede causar que se bloquee o que consuma todos los recursos del sistema. Asegúrate de que tu lógica de salida sea siempre alcanzable para evitar este error.

Partes del bucle while

  • Palabra clave while: Indica que inicia un bucle.
  • Condición: Va entre paréntesis. Se evalúa en cada repetición. Si es true, sigue. Si es false, se detiene.
  • Cuerpo del bucle: Las instrucciones dentro de las llaves {}, que se repiten.

¿Cómo funciona paso a paso?

Si llamamos la función printNumbers(3), esto es lo que pasa:

IteraciónValor de i¿Se cumple i <= lastNumber?Acción
1Sí (1 <= 3)Imprime 1, aumenta i a 2
2Sí (2 <= 3)Imprime 2, aumenta i a 3
3Sí (3 <= 3)Imprime 3, aumenta i a 4
4No (4 <= 3 es falso)El bucle termina, imprime "finished!"

Azúcar sintáctico

🍩 El azúcar sintáctico es una forma más corta y amigable de escribir operaciones comunes. Hace que el código sea más limpio.

En vez de escribir:

i = i + 1;

Podemos escribir:

i += 1; // Hace lo mismo

También funciona con otras operaciones:

Forma LargaAzúcar Sintáctico
a = a + 1a += 1

Es como decir “+1” en lugar de “sumar uno a lo que ya tienes”.


Resumen

  • Un bucle permite repetir un proceso hasta que se cumpla una condición.
  • while ejecuta instrucciones mientras una condición sea verdadera.
  • Si olvidas cambiar la condición, puedes crear un bucle infinito.
  • Pequeños atajos como i += 1 hacen que el código sea más claro.