Pensamientos

¿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.
parzibyte

Programador freelancer listo para trabajar contigo. Aplicaciones web, móviles y de escritorio. PHP, Java, Go, Python, JavaScript, Kotlin y más :) https://parzibyte.me/blog/software-creado-por-parzibyte/

Entradas recientes

Foco con Telegram, apagador de 3 vías, relevador y ESP8266

Encender un foco con un Bot de Telegram es posible usando una tarjeta como la…

4 días hace

Servidor HTTP en Android con Flutter

El día de hoy te mostraré cómo crear un servidor HTTP (servidor web) en Android…

3 semanas hace

Imprimir automáticamente todos los PDF de una carpeta

En este post te voy a enseñar a designar una carpeta para imprimir todos los…

3 semanas hace

Guía para imprimir en plugin versión 1 desde Android

En este artículo te voy a enseñar la guía para imprimir en una impresora térmica…

4 semanas hace

Añadir tasa de cambio en sistema de información

Hoy te voy a mostrar un ejemplo de programación para agregar un módulo de tasa…

1 mes hace

Comprobar validez de licencia de plugin ESC POS

Los usuarios del plugin para impresoras térmicas pueden contratar licencias, y en ocasiones me han…

1 mes hace