📚 Curso JavaScript Master — Introducción

¡Enhorabuena por llegar hasta aquí! 🎉
Has demostrado disciplina, perseverancia y pasión por dominar el desarrollo web.

Ahora entras en una etapa aún más emocionante: el nivel Master de JavaScript.
Aquí aprenderás conceptos avanzados de programación, profundizarás en las APIs más potentes del navegador y descubrirás herramientas que usan los desarrolladores senior para crear aplicaciones web modernas, rápidas, seguras y capaces de trabajar incluso sin conexión a Internet.

En este nivel aprenderás a pensar como un programador experto, a optimizar el rendimiento, y a sacar todo el poder del navegador para llevar tus proyectos WordPress y aplicaciones web a un nivel profesional superior.

🚀 Es el momento de pasar de ser desarrollador avanzado a empezar a pensar como arquitecto de aplicaciones.
¡Vamos a por ello!


🔒 Día 26 — Conceptos Avanzados de Funciones y Programación en JavaScript

Objetivo:
Hoy nos adentraremos en conceptos de programación avanzados como prototipos, this contextual, recursividad, strict mode, closures y parámetros avanzados, que son fundamentales para programar de manera limpia, profesional y eficiente en JavaScript.


📚 Formación Teórica

1. Prototipos y herencia en JavaScript

2. Strict Mode

3. Funciones Flecha y this contextual

4. Recursividad

5. Closures (Clausuras)

6. Parámetros Rest y Operador Ternario


🎥 Vídeos de hoy

Instrucciones para el vídeo:
Concéntrate en entender:


🧠 Apuntes Técnicos del Día

📌 Prototipos

function Persona(nombre) {
  this.nombre = nombre;
}

Persona.prototype.saludar = function() {
  console.log(`Hola, soy ${this.nombre}`);
};

const persona1 = new Persona("Jesús");
persona1.saludar(); // Hola, soy Jesús

📌 Strict Mode

'use strict';
x = 10; // Error: x is not defined

📌 Funciones Flecha y this contextual

const persona = {
  nombre: "Jesús",
  saludar: function() {
    setTimeout(() => {
      console.log(`Hola, soy ${this.nombre}`);
    }, 1000);
  }
};
persona.saludar();

📌 Recursividad

function cuentaAtras(numero) {
  if (numero <= 0) return;
  console.log(numero);
  cuentaAtras(numero - 1);
}
cuentaAtras(5); // 5, 4, 3, 2, 1

📌 Closures

function saludar(nombre) {
  return function() {
    console.log(`Hola ${nombre}`);
  }
}

const saludarAJesus = saludar("Jesús");
saludarAJesus(); // Hola Jesús

📌 Parámetro Rest y Operador Ternario

function sumar(...numeros) {
  return numeros.reduce((acum, actual) => acum + actual, 0);
}
console.log(sumar(1, 2, 3)); // 6

const edad = 20;
const mensaje = edad >= 18 ? "Mayor de edad" : "Menor de edad";
console.log(mensaje);

🛠️ Tareas prácticas del Día 26

Tarea 1 — Crear un prototipo personalizado:

Tarea 2 — Recursividad básica:

Tarea 3 — Uso de closures:

Tarea 4 — Parámetros Rest y Ternario:

Entrega:


🚀 Resultado esperado al finalizar el día