Estructuras de control
Estructuras de control Fundamental
Section titled “Estructuras de control ”Condicionales Básico
Section titled “Condicionales ”if…else
Section titled “if…else”let edad = 18;
if (edad >= 18) { console.log("Eres mayor de edad");} else if (edad >= 13) { console.log("Eres adolescente");} else { console.log("Eres menor de edad");}switch
Section titled “switch”let dia = "Lunes";
switch (dia) { case "Lunes": console.log("Inicio de semana"); break; case "Viernes": console.log("¡Fin de semana!"); break; default: console.log("Día entre semana");}Bucles
Section titled “Bucles”// Bucle tradicionalfor (let i = 0; i < 5; i++) { console.log(i);}
// for...of (para iterables)const array = [1, 2, 3];for (const elemento of array) { console.log(elemento);}
// for...in (para objetos)const persona = { nombre: "Juan", edad: 25 };for (const propiedad in persona) { console.log(`${propiedad}: ${persona[propiedad]}`);}let contador = 0;while (contador < 5) { console.log(contador); contador++;}do…while
Section titled “do…while”let numero = 0;do { console.log(numero); numero++;} while (numero < 5);Control de flujo
Section titled “Control de flujo”for (let i = 0; i < 10; i++) { if (i === 5) { break; // Sale del bucle } console.log(i);}continue
Section titled “continue”for (let i = 0; i < 5; i++) { if (i === 2) { continue; // Salta a la siguiente iteración } console.log(i);}return
Section titled “return”function ejemplo() { if (condicion) { return true; // Sale de la función } // Más código...}Manejo de errores
Section titled “Manejo de errores”try…catch
Section titled “try…catch”try { // Código que puede lanzar un error throw new Error("¡Algo salió mal!");} catch (error) { console.error(error.message);} finally { // Se ejecuta siempre console.log("Limpieza final");}Patrones comunes
Section titled “Patrones comunes”Guard Clauses
Section titled “Guard Clauses”function procesarUsuario(usuario) { if (!usuario) { return; }
if (!usuario.activo) { return; }
// Procesar usuario...}Operador ternario en condicionales simples
Section titled “Operador ternario en condicionales simples”const edad = 20;const mensaje = edad >= 18 ? "Mayor de edad" : "Menor de edad";Switch con objetos
Section titled “Switch con objetos”const acciones = { CREAR: () => console.log("Creando..."), EDITAR: () => console.log("Editando..."), ELIMINAR: () => console.log("Eliminando...")};
const accion = "CREAR";acciones[accion]?.();Mejores prácticas
Section titled “Mejores prácticas”- Usar llaves incluso en bloques de una línea
// ✅ Buenoif (condicion) { hacerAlgo();}- Evitar anidación excesiva
// ❌ Maloif (a) { if (b) { if (c) { // ... } }}
// ✅ Buenoif (!a || !b || !c) return;// Código principal aquí- Usar switch cuando hay múltiples condiciones
// ✅ Buenoswitch (tipo) { case "A": // ... break; case "B": // ... break; default: // ...}- Manejar todos los casos posibles
// ✅ Buenoif (condicion) { // caso verdadero} else { // caso falso}- Usar try-catch para código propenso a errores
// ✅ Buenotry { JSON.parse(datos);} catch (error) { console.error("Datos JSON inválidos");}
🐝