Hola Flex
Estoy perfectamente centrado.
Trabajado por Juan Esteban Osorio
Estoy perfectamente centrado.
Trabajado por Juan Esteban Osorio
Texto largo con mucho contenido para mostrar el comportamiento fluido del área principal junto al sidebar fijo en la izquierda.
Trabajado por Juan Esteban Osorio
Superposición trabajada por Juan Esteban Osorio
Soy Juan Esteban Osorio y programo para empezar en React
Texto de ejemplo para ver tamaño relativo.
let contador = 0;
contador = contador + 1;
const PI = 3.1416;
// PI = 3.14; ❌ error
console.log(contador, PI);
▶ Resultado en consola:
✏️ Ejercicio propio — Juan Esteban Osorio
// Mis datos personales con let y const
let puntaje = 10;
puntaje = puntaje + 5;
const NOMBRE = "Juan Esteban Osorio";
console.log("Nombre:", NOMBRE, "| Puntaje:", puntaje);
function suma(a, b) { return a + b; }
const resta = (a, b) => a - b;
console.log(suma(3, 2)); // 5
console.log(resta(5, 2)); // 3
▶ Resultado en consola:
✏️ Ejercicio propio — Juan Esteban Osorio
// Funciones en versión flecha
const multiplicar = (a, b) => a * b;
const saludar = nombre => `¡Hola, ${nombre}!`;
console.log(multiplicar(4, 7));
console.log(saludar("Juan Esteban"));
const frutas = ["manzana", "pera", "uva"];
console.log(frutas[1]); // "pera"
const persona = { nombre: "Rudolf", edad: 30 };
console.log(persona.nombre); // "Rudolf"
▶ Resultado en consola:
✏️ Ejercicio propio — Juan Esteban Osorio
// Array de 5 números y objeto carro
const numeros = [10, 20, 30, 40, 50];
console.log("Tercer número:", numeros[2]);
const carro = { marca: "Toyota", modelo: "Corolla", año: 2022 };
console.log(`Carro: ${carro.marca} ${carro.modelo} (${carro.año})`);
const numeros = [1, 2, 3, 4, 5];
const cuadrados = numeros.map(n => n * n);
console.log(cuadrados); // [1,4,9,16,25]
const pares = numeros.filter(n => n % 2 === 0);
console.log(pares); // [2,4]
const suma = numeros.reduce((acc, n) => acc + n, 0);
console.log(suma); // 15
▶ Resultado en consola:
✏️ Ejercicio propio — Juan Esteban Osorio
// Promedio con reduce
const notas = [3.5, 4.0, 4.8, 3.2, 5.0];
const promedio = notas.reduce((acc, n) => acc + n, 0) / notas.length;
console.log("Promedio:", promedio.toFixed(2));
const aprobadas = notas.filter(n => n >= 3.0);
console.log("Aprobadas:", aprobadas);
const traerDato = () =>
new Promise(resolve =>
setTimeout(() => resolve("Dato listo ✅"), 2000)
);
traerDato().then(res => console.log(res));
// también: const dato = await traerDato();
▶ Resultado (espera 2 s):
✏️ Ejercicio propio — Juan Esteban Osorio
// Espera 3 segundos y muestra mensaje
const esperar3s = async () => {
await new Promise(r => setTimeout(r, 3000));
console.log("Listo para React 🚀");
};
esperar3s();
// math.js
export const sumar = (a, b) => a + b;
export const restar = (a, b) => a - b;
// main.js
import { sumar, restar } from './math.js';
console.log(sumar(2, 3)); // 5
console.log(restar(10, 4)); // 6
▶ Resultado (módulos inline):
📝 Los módulos reales requieren un servidor local o 📝 Los módulos reales requieren un servidor local o 📝 Los módulos reales requieren un servidor local o . Aquí se simula el resultado.<script type="module">. Aquí se simula el resultado.<script type="module">. Aquí se simula el resultado.
Este card usa container queries: cuando tiene más de 420px de ancho, cambia su layout a dos columnas.