Aprende los fundamentos clave de JavaScript que verás en cualquier etapa: variables, conversión de tipos, ciclos, funciones y hoisting. Con ejemplos prácticos y errores comunes, Leo y Juan David Castro muestran cómo pensar el código, detectar bugs típicos y escribir soluciones que realmente funcionan.
¿Qué aprenderás en el reto de 30 días de JavaScript?
Este reto dura seis semanas (con descanso sábado y domingo). Inicia con bases sólidas y avanza hacia temas más complejos, con sesiones en vivo, chat y ejercicios prácticos.
Semana 1: funciones, loops, declarar, inicializar y hoisting.
Flujo de trabajo: navegador en blanco + consola + editor; copias el código y ejecutas.
Dinámica: preguntas en vivo y sección de Q&A.
Ejercicio: dibujar un triángulo isósceles con bucles, sin métodos de arrays.
Invitado: Juan David Castro comparte trucos y decisiones clave del lenguaje.
¿Cómo está pensada la práctica?
Ejecuta fragmentos en la consola del navegador.
Itera rápido: copia, pega, prueba y observa resultados.
Anota los comportamientos raros para discutirlos.
¿Cómo entender variables y tipos en JavaScript sin errores?
La base es distinguir entre dos momentos: declarar e inicializar. Luego, aprender a convertir tipos correctamente con coerción y casteo.
¿Qué significa declarar e inicializar una variable?
Declarar: informar al motor que la variable existe.
Inicializar: asignar el primer valor.
Atajo común: declarar e inicializar en la misma línea.
Nota práctica: ambos términos, coerción y casteo, se usan para hablar de conversión de tipos. La discusión exacta de nombres varía, pero lo importante es distinguir entre implícito y explícito.
¿Comillas dobles, sencillas o comillas invertidas?
Dobles y sencillas se comportan igual para strings.
Con comillas invertidas (backticks) usas template literals y expresiones con ${ }.
const nombre ='Leo';const saludo =`Hola, ${nombre}!`;// Interpolación de variables
Truco que funciona pero es feo para reviews: forzar texto sumando un string vacío.
const n =60;const comoTexto =''+ n;// '60' (string)
¿JavaScript es de tipado dinámico?
Sí: tipado dinámico. El lenguaje infiere tipos en tiempo de ejecución.
En lenguajes de tipado fuerte como TypeScript, Java, C#, C o C++, declaras tipos y las conversiones son explícitas.
Beneficio del tipado fuerte: menos sorpresas en producción al compilar o verificar tipos.
¿Por qué los ciclos, las funciones y el hoisting importan?
Dominar estas tres piezas te ahorra tiempo, evita errores silenciosos y te da estructuras reutilizables.
¿Cómo se repite código con ciclos while y for?
Un ciclo repite un bloque hasta que una condición deje de cumplirse.
while significa “mientras”. Define cuándo se ejecuta, no cuándo termina.
let numerito =0;while(numerito <=10){console.log('mensaje '+ numerito); numerito +=1;// operador +=}
Desafío sugerido: traduce esto a la sintaxis de for.
¿Para qué sirven las funciones y qué retorna una función?
Encapsulan responsabilidad única y hacen el código legible y reusable.
return devuelve el valor principal.
Si no retornas, el valor es undefined.
functiondeclararInicializar(){let v ='valor 1'; v ='valor 2';return v;// 'valor 2'}functionsumarComoNumero(){const n1 ='35';const n2 =25;returnNumber(n1)+ n2;// 60}functionimprimirMensajes(){let i =0;while(i <=10){console.log('mensaje '+ i); i +=1;}// No return: devuelve undefined}
Organiza por temas y nombres claros para leer y mantener mejor.
¿Qué es el hoisting y por qué var se comporta distinto a let/const?
Con var, JavaScript eleva la declaración antes de ejecutar el código. Resultado típico: undefined en vez de error.
console.log(diego);// undefined por hoistingvar diego;diego ='un profe muy chido';
Con let y const, si accedes antes de declarar, obtienes ReferenceError.
console.log(leo);// ReferenceErrorconst leo ='un profe muy chido';
Idea clave: primero declara, luego usa y después inicializa. Evita sorpresas con var.
Pregunta abierta que quedó planteada: ¿cómo aplica el hoisting a las funciones?
¿Te animas con el reto del triángulo isósceles usando while y sin métodos de arrays? Comparte tus dudas, tu enfoque y tu solución en los comentarios.