JavaScript Avanzado: Lógica y Datos
¡Has tomado una excelente decisión! Profundizar en **JavaScript** es clave para pasar de páginas estáticas a **aplicaciones web interactivas y dinámicas**. Aquí veremos cómo JavaScript maneja la lógica (tomar decisiones, repetir tareas) y cómo organiza datos complejos.
—1. Estructuras de Control: Tomar Decisiones y Repetir Acciones
Las estructuras de control permiten que tu código JavaScript tome decisiones o repita bloques de código, haciendo que los programas sean mucho más potentes.
a. `if`, `else if`, `else` (Condicionales)
Ejecutan un bloque de código si una condición es verdadera. Si no, pueden ejecutar otro bloque.
let temperatura = 25;
if (temperatura >= 30) {
console.log("¡Hace mucho calor!");
} else if (temperatura >= 20) {
console.log("La temperatura es agradable.");
} else {
console.log("Hace frío.");
}
b. `for` Loop (Bucle `for`)
Repite un bloque de código un número específico de veces.
// i (índice) empieza en 0, se repite mientras i sea menor que 5, e i aumenta en 1 cada vez
for (let i = 0; i < 5; i++) {
console.log("Número: " + i);
}
/* Salida:
Número: 0
Número: 1
Número: 2
Número: 3
Número: 4
*/
c. `while` Loop (Bucle `while`)
Repite un bloque de código mientras una condición sea verdadera.
let contador = 0;
while (contador < 3) {
console.log("Contador en: " + contador);
contador++;
}
/* Salida:
Contador en: 0
Contador en: 1
Contador en: 2
*/
—
2. Tipos de Datos Compuestos: Arreglos y Objetos
Más allá de números y texto, JavaScript nos permite organizar datos complejos.
a. Arrays (Arreglos o Listas)
Una colección **ordenada** de elementos. Cada elemento tiene un **índice** numérico que empieza en 0.
const frutas = ["Manzana", "Banana", "Cereza"];
console.log(frutas[0]); // Salida: "Manzana"
console.log(frutas.length); // Salida: 3
frutas.push("Naranja"); // Añade "Naranja" al final
console.log(frutas); // Salida: ["Manzana", "Banana", "Cereza", "Naranja"]
// Iterar sobre un arreglo
for (let i = 0; i < frutas.length; i++) {
console.log("Me gusta " + frutas[i]);
}
b. Objects (Objetos)
Una colección de pares **clave-valor** (propiedades). No tienen un orden específico.
const persona = {
nombre: "Ana",
edad: 28,
ciudad: "México",
intereses: ["leer", "viajar"]
};
console.log(persona.nombre); // Salida: "Ana"
console.log(persona["edad"]); // Salida: 28 (otra forma de acceder)
persona.edad = 29; // Modificar una propiedad
persona.profesion = "Diseñadora"; // Añadir una nueva propiedad
console.log(persona);
/* Salida:
{
nombre: 'Ana',
edad: 29,
ciudad: 'México',
intereses: [ 'leer', 'viajar' ],
profesion: 'Diseñadora'
}
*/
—
3. Manipulación Avanzada del DOM
Ya sabes cómo seleccionar elementos. Ahora, veamos cómo modificarlos y crear nuevos dinámicamente.
document.createElement('tagName'): Crea un nuevo elemento HTML.element.appendChild(childElement): Añade un elemento hijo al final de otro.element.removeChild(childElement): Elimina un elemento hijo.element.textContent = 'nuevo texto': Cambia el texto dentro de un elemento.element.innerHTML = '<b>HTML</b> nuevo': Cambia el contenido HTML dentro de un elemento (¡usar con precaución por seguridad!).element.style.propertyName = 'value': Cambia estilos CSS directamente.element.classList.add('className'),.remove(),.toggle(): Gestiona clases CSS para aplicar o quitar estilos predefinidos.
const contenedor = document.getElementById("miContenedor");
// Crear un nuevo párrafo
const nuevoParrafo = document.createElement("p");
nuevoParrafo.textContent = "Este es un párrafo añadido dinámicamente.";
nuevoParrafo.style.color = "lightgreen";
// Añadirlo al contenedor
contenedor.appendChild(nuevoParrafo);
// Quitar una clase de un elemento
const miTitulo = document.querySelector("h1");
miTitulo.classList.remove("algun-estilo");
—
¡Practica JavaScript Avanzado!
Juega con estos ejemplos y mira los resultados en el área de salida y en la consola (F12).
Ejemplo 1: Lista Dinámica de Tareas
- Aprender JavaScript
- Crear un sitio web
Ejemplo 2: Simulación de Descuento con Condicionales y Entrada del Usuario
Ingresa el precio del producto:
Ejemplo 3: Iterar y Mostrar Datos de Objetos
Mira la consola para ver los detalles de los usuarios.
¡Esto es solo el comienzo del poder de JavaScript! Con estas herramientas, puedes empezar a construir funcionalidades realmente interesantes en tus páginas web.
¿Qué te gustaría explorar a continuación?
- **Más sobre JavaScript:** Eventos avanzados, manejo de errores, asincronía (promesas, async/await), módulos.
- **El Modelo de Caja (Box Model) a fondo y posicionamiento clásico:** Para dominar completamente el layout y la depuración de CSS.
- **Control de Versiones con Git y GitHub:** Esencial para organizar tu código, colaborar y mostrar tus proyectos.
- **Formularios en HTML:** Crear formularios más complejos y aprender a procesar su entrada.
¡El camino del desarrollo web es vasto y emocionante!
