JS en 30 días: Día 4. En este cuarto día repasamos la sintaxis básica de JavaScript y profundizamos en las declaraciones condicionales y el control lógico, conceptos clave para implementar lógica de ramificación en cualquier aplicación. Q2BSTUDIO es una empresa de desarrollo de software especializada en aplicaciones a medida y software a medida, con experiencia en inteligencia artificial, ciberseguridad y servicios cloud aws y azure. Si buscas crear soluciones a medida o potenciar tus proyectos con IA para empresas consulta nuestras soluciones de software a medida y nuestros servicios de inteligencia artificial.

Objetivos de aprendizaje: dominar el uso de if y else para decisiones básicas, comprender cuándo usar switch, aprender a escribir condicionales anidados de forma legible y conocer buenas prácticas para juicios condicionales en código productivo.

if y else: estructura básica para ejecutar bloques de código según condiciones. Ejemplo de patrón: let age = 18; if (age >= 18) { // edad adulta } else { // menor }

Variantes comunes: if con else if para múltiples ramas: if (score >= 90) { // sobresaliente } else if (score >= 80) { // bueno } else { // otras }

Valores truthy y falsy: en JavaScript los valores falsy incluyen false, 0, -0, 0n, cadena vacía, null, undefined y NaN. Todos los demás valores se consideran truthy. Entender esto evita errores al comprobar existencia de datos o propiedades.

Buenas prácticas en juicios condicionales: usar igualdad estricta con === para evitar conversiones implícitas; comprobar longitudes de arrays con fruits.length > 0; verificar propiedades de objetos antes de acceder con optional chaining cuando sea necesario; preferir expresiones claras en lugar de anidamientos profundos.

switch: útil para comparaciones por valor exacto y estructuras con muchas ramas. Patrón: switch (valor) { case 1: // caso 1; break; case 2: // caso 2; break; default: // caso por defecto }

Se puede agrupar casos que comparten lógica: case 12: case 1: case 2: // invierno; break. Usar switch cuando las condiciones son valores concretos y if/else cuando se trabajan rangos o comparaciones complejas.

Condicionales anidados: se usan para decisiones dependientes, por ejemplo edad, permiso y seguro. Patrón: if (age >= 18) { if (hasLicense) { if (hasInsurance) { // puede conducir } else { // necesita seguro } } else { // necesita licencia } } else { // menor }

Simplificar anidamientos con operadores lógicos: if (age >= 18 && hasLicense && hasInsurance) { // puede conducir } else if (age >= 18 && hasLicense) { // necesita seguro } else { // otros casos }

Operador ternario para asignaciones compactas: let message = age >= 18 ? adult : minor; Para múltiples niveles se pueden encadenar ternarios, aunque hay que evitar que afecte la legibilidad.

Comportamiento de cortocircuito: utilizar && para ejecutar una expresión solo si la anterior es truthy, por ejemplo user.isAdmin && performAdminTask(); usar || para valores por defecto como displayName = userName || Anonymous; y usar ?? para diferenciar null y undefined, por ejemplo age = userAge ?? 18.

Funciones condicionales con retornos anticipados mejoran legibilidad: function getUserStatus(user) { if (!user) return usuario inexistente; if (!user.isActive) return usuario inactivo; if (user.isBlocked) return usuario bloqueado; if (user.isPremium) return premium; return regular; }

Ejercicios propuestos: clasificador de edades con validación de tipos y rangos; calculadora mejorada que valide entradas finitas y maneje operaciones aritméticas con control de division por cero; sistema de permisos que combine comprobaciones de existencia, estado y roles con switch para decisiones por rol.

Puntos clave: if y else son la estructura básica; switch es idóneo para selecciones por valor; conocer valores truthy y falsy evita errores; reducir anidamientos mejora mantenimiento; usar ===, optional chaining y operadores lógicos prudente y correctamente.

Consejos de aprendizaje: practicar qué valores son falsy, preferir igualdad estricta, evitar anidamientos profundos y usar switch cuando la selección es por valores discretos. En Q2BSTUDIO aplicamos estas mejores prácticas al desarrollar aplicaciones a medida y soluciones de inteligencia de negocio con power bi para mejorar la toma de decisiones empresariales. Ofrecemos además servicios de ciberseguridad y pentesting para proteger tus sistemas y consultoría en servicios cloud aws y azure para desplegar infraestructuras escalables y seguras.

Si quieres aplicar condicionales y lógicas complejas en un proyecto real nuestros equipos pueden ayudarte a integrar agentes IA, soluciones de ia para empresas y servicios de inteligencia de negocio. Conoce cómo trabajamos en automatización de procesos y despliegues cloud para proyectos críticos.

Resumen final: dominar las estructuras condicionales es esencial para controlar el flujo de tus programas y para construir soluciones fiables y mantenibles. Mañana continuamos con sentencias de bucle y control de iteraciones para completar la base de la programación en JavaScript.