Curso gratuito de JavaScript

JavaScript
Básico.

// ejemplos interactivos

// aprende haciendo

01. Variables
// let, const y var — cómo declarar y usar datos
1
let y const
let nombre = "Ana";
const edad = 25;
let activo = true;

console.log(nombre, edad, activo);
▶ Pruébalo
2
Tipos de datos
const texto   = "Hola mundo";  // string
const numero  = 42;           // number
const decimal = 3.14;         // float
const booleano= true;         // boolean
const nada    = null;         // null

typeof texto;  // "string"
▶ Inspeccionar tipos
3
Template literals
const nombre = "Carlos";
const edad = 30;

// Concatenación tradicional:
"Hola, " + nombre + ". Tienes " + edad + " años."

// Template literal (moderno):
`Hola, ${nombre}. Tienes ${edad} años.`
▶ Genera tu mensaje
02. Operadores
// aritméticos, de comparación y lógicos
1
Calculadora aritmética
const a = 10, b = 3;

a + b;   // 13  — suma
a - b;   // 7   — resta
a * b;   // 30  — multiplicación
a / b;   // 3.33— división
a % b;   // 1   — módulo (resto)
a ** b;  // 1000— potencia
▶ Prueba operadores
2
Comparaciones
5 == "5"   // true  (valor)
5 === "5"  // false (valor+tipo)
5 != 3    // true
5 > 3     // true
5 <= 5    // true
▶ Comparar valores
3
Lógicos &&, ||, !
true && false  // false (AND)
true || false  // true  (OR)
!true          // false (NOT)

// Ejemplo real:
const edad = 20;
const tieneID = true;
edad >= 18 && tieneID; // true
▶ ¿Puede entrar al club?
03. Condicionales
// if / else if / else — tomar decisiones
1
If / Else If / Else
function calificar(nota) {
  if (nota >= 90) {
    return "Sobresaliente 🏆";
  } else if (nota >= 70) {
    return "Aprobado ✅";
  } else if (nota >= 50) {
    return "Regular ⚠️";
  } else {
    return "Reprobado ❌";
  }
}
▶ Califica tu nota
2
Operador ternario
// condición ? valorTrue : valorFalse

const edad = 20;
const estado = edad >= 18
  ? "Mayor de edad"
  : "Menor de edad";

// Equivale al if/else tradicional
▶ Mayor o menor
3
Switch
function diaSemana(n) {
  switch(n) {
    case 1: return "Lunes";
    case 2: return "Martes";
    case 3: return "Miércoles";
    case 4: return "Jueves";
    case 5: return "Viernes";
    default: return "Fin de semana";
  }
}
▶ Número → Día
04. Bucles
// for, while, forEach — repetir acciones
1
FizzBuzz clásico
for (let i = 1; i <= 30; i++) {
  if (i % 15 === 0)      print("FizzBuzz");
  else if (i % 3 === 0) print("Fizz");
  else if (i % 5 === 0) print("Buzz");
  else                   print(i);
}
▶ Hasta N
2
While — contador
let count = 0;

while (count < 5) {
  console.log(`Vuelta ${count + 1}`);
  count++;
}
▶ Simulador interactivo
0
3
For...of — iterar
const frutas = [
  "🍎 Manzana",
  "🍌 Banana",
  "🍇 Uvas"
];

for (const fruta of frutas) {
  console.log(fruta);
}
▶ Agrega frutas (separadas por coma)
    05. Funciones
    // declaradas, expresiones y arrow functions
    1
    Función declarada
    function saludar(nombre) {
      return `¡Hola, ${nombre}!`;
    }
    
    saludar("Mundo"); // ¡Hola, Mundo!
    ▶ Llama la función
    2
    Arrow function
    // Sintaxis corta y moderna:
    const cuadrado = (n) => n ** 2;
    const suma     = (a, b) => a + b;
    const pi       = () => 3.1416;
    
    cuadrado(5);   // 25
    suma(3, 4);    // 7
    ▶ Cuadrado de N
    3
    Función con parámetros por defecto
    function presentar(
      nombre = "Desconocido",
      rol    = "Visitante",
      nivel  = 1
    ) {
      return `👤 ${nombre} | ${rol} | Nivel ${nivel}`;
    }
    
    presentar();                     // usa defaults
    presentar("Laura", "Dev", 5);  // personalizado
    ▶ Genera tu presentación
    06. Arrays
    // map, filter, reduce — el poder funcional
    1
    map() — transformar
    const nums = [1, 2, 3, 4, 5];
    
    // Duplicar cada elemento:
    const dobles = nums.map(n => n * 2);
    // [2, 4, 6, 8, 10]
    ▶ Números (separados por coma) → Multiplicar por
    ×
      2
      filter() — filtrar
      const nums = [1,2,3,4,5,6];
      
      const pares = nums
        .filter(n => n % 2 === 0);
      // [2, 4, 6]
      ▶ Filtrar mayores que
      >
        3
        reduce() — acumular
        const nums = [10, 20, 30];
        
        const total = nums.reduce(
          (acc, n) => acc + n, 0
        );
        // 60
        ▶ Suma total