01
Sección 01
Objetos {}
Crear y acceder
OBJETOconst persona = { nombre: "Ana", edad: 28, ciudad: "Madrid", saludar() { return `Hola, soy ${this.nombre}`; } }; persona.nombre; // "Ana" (dot) persona["edad"]; // 28 (bracket) persona.saludar(); // "Hola, soy Ana"
▶ Construye tu objeto
Object methods
OBJETOconst obj = { a:1, b:2, c:3 }; Object.keys(obj); // ["a", "b", "c"] Object.values(obj); // [1, 2, 3] Object.entries(obj); // [["a",1],["b",2],["c",3]] Object.assign({}, obj, {d:4}); // {a:1, b:2, c:3, d:4}
▶ clave:valor, clave:valor ...
02
Sección 02
Clases class
Definir e instanciar
CLASEclass Animal { constructor(nombre, sonido) { this.nombre = nombre; this.sonido = sonido; } hablar() { return `${this.nombre} dice: ${this.sonido}!`; } } class Perro extends Animal { constructor(nombre) { super(nombre, "Guau"); } traer() { return "🎾 ¡Lo traje!"; } } const rex = new Perro("Rex"); rex.hablar(); // Rex dice: Guau! rex.traer(); // 🎾 ¡Lo traje!
▶ Crea un animal
03
Sección 03
Destructuring { }
Objetos
OBJETOconst user = { nombre: "Carlos", edad: 32, rol: "admin" }; // Extraer en variables: const { nombre, edad, rol } = user; // Con alias: const { nombre: n, edad: e } = user; // Con valor por defecto: const { pais = "España" } = user;
▶ Desestructura un objeto
Arrays
ARRAYconst coords = [40.4, -3.7, 650]; // Posición exacta: const [lat, lng, alt] = coords; // Saltar elementos: const [lat, , alt] = coords; // Swap de variables: let a = 1, b = 2; [a, b] = [b, a];
▶ Desestructura un array
04
Sección 04
String methods
Laboratorio de strings
STRINGconst s = " Hola, Mundo! "; s.trim(); // "Hola, Mundo!" s.toUpperCase(); // " HOLA, MUNDO! " s.toLowerCase(); // " hola, mundo! " s.includes("Mundo"); // true s.replace("Mundo", "JS"); // "Hola, JS!" s.split(","); // [" Hola", " Mundo! "] s.slice(2, 6); // "Hola" s.padStart(20, "*"); // "**** Hola, Mundo! "
▶ Escribe un texto y aplica métodos
05
Sección 05
Math objeto
Funciones Math
MATHMath.round(4.6); // 5 Math.floor(4.9); // 4 Math.ceil(4.1); // 5 Math.abs(-7); // 7 Math.sqrt(16); // 4 Math.pow(2,10); // 1024 Math.max(1,5,3); // 5 Math.random(); // 0..1
▶ Ingresa un número
Número aleatorio en rango
MATH// Entero aleatorio entre min y max: function randomInt(min, max) { return Math.floor( Math.random() * (max - min + 1) + min ); } randomInt(1, 6); // dado 🎲
▶ Genera números aleatorios
–
06
Sección 06
Async / Await
Promise básica
ASYNCconst promesa = new Promise((resolve, reject) => { setTimeout(() => { const ok = Math.random() > 0.3; if (ok) resolve("✅ Éxito"); else reject("❌ Error"); }, 1500); }); promesa .then(res => console.log(res)) .catch(err => console.error(err));
▶ Simula una promesa (70% éxito)
async / await
ASYNCconst perfilesDemo = { 1: { name: "Ana", email: "ana@demo.local", city: "Madrid", company: "Estudio Norte" }, 2: { name: "Luis", email: "luis@demo.local", city: "Bilbao", company: "Pixel Lab" } }; async function cargarPerfil(id) { await delay(600); if (!perfilesDemo[id]) throw new Error("Perfil no encontrado"); return perfilesDemo[id]; }
▶ Carga un perfil local simulado
// resultado aparecerá aquí...
07
Sección 07
DOM manipulation
Crear, modificar y eliminar elementos
DOM// Seleccionar: const el = document.querySelector("#miDiv"); // Crear y agregar: const li = document.createElement("li"); li.textContent = "Nuevo ítem"; lista.appendChild(li); // Modificar estilo: el.style.color = "red"; el.classList.add("activo"); // Eliminar: li.remove();
▶ Mini lista interactiva
// lista vacía
08
Sección 08
Try / Catch / Finally
Manejo de errores
ERRORfunction dividir(a, b) { if (b === 0) { throw new Error("No se puede dividir entre 0"); } return a / b; } try { const resultado = dividir(10, 0); console.log(resultado); } catch (e) { console.error("Error:", e.message); } finally { console.log("Siempre se ejecuta"); }
▶ Prueba la división
÷
Tipos de error
ERROR// ReferenceError — variable no existe: console.log(noExiste); // TypeError — tipo incorrecto: null.toString(); // SyntaxError — código malformado: eval("{"); // RangeError — valor fuera de rango: new Array(-1); // Error personalizado: throw new Error("Mi error custom");
▶ Dispara distintos errores
// haz clic en un error...