¿while puede remplazar a for y a if?

En un meme que vi hace algún tiempo decía que el if es una manera elegante de un ciclo while que se rompe en la primera iteración.

Pensándolo bien, eso era correcto (sí sí ya sé que era una broma) y aparte de ello, el ciclo for también es azúcar sintáctica para un simple while.

Veamos en este post cómo while puede remplazar a for y a if.

Antes que nada

Esto es un pensamiento, una simple forma de ver las cosas, un análisis simple y tal vez una broma. Ya sé que todas las instrucciones existen por razones muy fuertes, esto es una simple opinión.

While puede remplazar a if

Claro que sí. Podemos poner un while y romperlo inmediatamente. Veamos este código de JavaScript en donde se comprueba si un usuario es mayor o menor de edad. De manera simple queda así:

let edad = parseInt(prompt("Dime tu edad"));
if (edad > 18) {
	alert("Eres mayor de edad");
}

En caso de que la edad sea mayor que 18, entonces se imprimirá el mensaje. Ese código, con while, queda así:

let edad = parseInt(prompt("Dime tu edad"));
while(edad > 18) {
	alert("Eres mayor de edad");
	break; // ¡No olvides el break!
}

Se alcanza el mismo comportamiento, pero sin usar if. Claro que ahora no tenemos un else ni esas cosas, pero el objetivo era demostrar que while es un remplazo para if.

While puede remplazar a for

Claro que se puede remplazar a for con while. Veamos un ejemplo en donde se imprime la tabla de multiplicar del número 5 en consola con for. Queda así:

const TABLA = 5;
for(let i = 1; i <= 10; i++){
	console.log(`${i} x ${TABLA} = ${i * TABLA}`);
}

Eso imprimirá la tabla del 5. Pero también se puede dejar de lado y utilizar únicamente while, quedando así:

const TABLA = 5;
let i = 1;
while (i <= 10) {
	console.log(`${i} x ${TABLA} = ${i * TABLA}`);
	i++;
}

Se logra el mismo resultado pero sin usar for.

Por cierto, en el código utilizo let con const, así como las plantillas de cadena.

Conclusión

Por mera diversión se podría remplazar a if y for usando while. pero en la práctica esto se debería evitar; pues las sentencias existen para algo y brindan una manera más óptima de pensar y resolver las cosas.

Estoy aquí para ayudarte 🤝💻


Estoy aquí para ayudarte en todo lo que necesites. Si requieres alguna modificación en lo presentado en este post, deseas asistencia con tu tarea, proyecto o precisas desarrollar un software a medida, no dudes en contactarme. Estoy comprometido a brindarte el apoyo necesario para que logres tus objetivos. Mi correo es parzibyte(arroba)gmail.com, estoy como@parzibyte en Telegram o en mi página de contacto

No te pierdas ninguno de mis posts 🚀🔔

Suscríbete a mi canal de Telegram para recibir una notificación cuando escriba un nuevo tutorial de programación.

Dejar un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *