0Pricing
JavaScript Academy · Lección

Alternativas funcionales: pasar el contexto, closures y utilidades pequeñas

Evite this pasando los datos explícitamente y usando closures y utilidades pequeñas; escriba funciones pequeñas y fáciles de leer.

Alternativas funcionales: pasar el contexto, closures y utilidades pequeñas es una lección gratuita de JavaScript Academy en CoddyKit. Esta es la lección 3 de 3. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de JavaScript Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de JavaScript Academy incluye 3 lecciones en total.

¿Por qué usar alternativas funcionales?

Objetivo: Evite this cuando añada confusión.

  • Funciones puras: pase los datos como parámetros
  • Clausuras: capture una vez y reutilice
  • Pequeñas funciones de fábrica
  • Funciones auxiliares pequeñas y legibles para principiantes
Alternativas funcionales: pasar el contexto, closures y utilidades pequeñas — ilustración 1

Función pura en lugar de this

Una función pura lee las entradas y devuelve un valor. No tiene un this oculto, por lo que es más fácil de probar.

// Pure function: takes data as parameters
function fullName(user) {
  // no this; explicit inputs
  return user.first + " " + user.last;
}

const u = { first: "Ayla", last: "Kaya" };
console.log("fullName:", fullName(u));
Alternativas funcionales: pasar el contexto, closures y utilidades pequeñas — ilustración 2

Función auxiliar basada en una clausura

Una clausura almacena el contexto sin this. Capture valores una vez y llame al auxiliar muchas veces.

// Closure: capture config and return a tiny helper
function makeGreeter(prefix) {
  // returns a function that remembers prefix
  return function (name) {
    return prefix + " " + name;
  };
}

const hi = makeGreeter("Hello");
console.log(hi("Ayla")); // "Hello Ayla"
console.log(hi("Mila")); // "Hello Mila"
Alternativas funcionales: pasar el contexto, closures y utilidades pequeñas — ilustración 3

Fábrica sin this

Una pequeña fábrica oculta el estado dentro de una clausura; no se necesita this. Los métodos son pequeños y concretos.

// Factory pattern: build an object with simple, pure-like methods
function makeCounter(start) {
  let value = Number.isFinite(start) ? start : 0;

  return {
    get: function () { return value; },        // read
    inc: function () { value = value + 1; }    // update (encapsulated)
  };
}

const c = makeCounter(2);
c.inc();
console.log("counter:", c.get()); // 3
Alternativas funcionales: pasar el contexto, closures y utilidades pequeñas — ilustración 4

Combine pequeñas funciones auxiliares

Las funciones auxiliares pequeñas y basadas en parámetros se combinan limpiamente. No se necesitan pasos de asociación.

// Compose small helpers: map + filter as plain functions
function isAdult(user) { return user.age >= 18; }
function toLabel(user) { return user.name + " (" + user.age + ")"; }

const people = [
  { name: "Ayla", age: 18 },
  { name: "Mert", age: 16 },
  { name: "Lina", age: 21 }
];

const labels = people.filter(isAdult).map(toLabel);
console.log("labels:", labels);
Alternativas funcionales: pasar el contexto, closures y utilidades pequeñas — ilustración 5

Elegir el estilo

Elija el estilo funcional cuando:

  • La función pueda ser pura (fácil de probar)
  • Solo necesite unos pocos valores (captúrelos mediante una clausura)
  • La sencillez sea importante para principiantes
  • Quiera evitar por completo los problemas de this
Alternativas funcionales: pasar el contexto, closures y utilidades pequeñas — ilustración 6

Cuestionario sobre alternativas funcionales

Comprobación rápida: evitar errores relacionados con this.

Alternativas funcionales: pasar el contexto, closures y utilidades pequeñas — ilustración 7

Resumen

Resumen: Prefiera funciones puras con parámetros explícitos; use clausuras o pequeñas fábricas para mantener un estado reducido. Las funciones auxiliares sin this son sencillas, fáciles de probar y adecuadas para principiantes.

Alternativas funcionales: pasar el contexto, closures y utilidades pequeñas — ilustración 8

Preguntas frecuentes

¿La lección «Alternativas funcionales: pasar el contexto, closures y utilidades pequeñas» es gratis?

Sí — el texto completo de «Alternativas funcionales: pasar el contexto, closures y utilidades pequeñas» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de JavaScript Academy, actualiza a CoddyKit PRO. El curso de JavaScript Academy incluye 3 lecciones en total.

¿Qué aprenderé en «Alternativas funcionales: pasar el contexto, closures y utilidades pequeñas»?

Evite this pasando los datos explícitamente y usando closures y utilidades pequeñas; escriba funciones pequeñas y fáciles de leer. Practicas JavaScript Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar JavaScript Academy?

No se requiere experiencia previa. JavaScript Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 3 de 3.

¿Cuánto tiempo toma la lección «Alternativas funcionales: pasar el contexto, closures y utilidades pequeñas»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de JavaScript Academy?

Sí. Cada lección de JavaScript Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. this léxico frente a dinámico y repaso de las arrow functions
  2. Problemas al extraer métodos y aplicación parcial
  3. Alternativas funcionales: pasar el contexto, closures y utilidades pequeñas
← Volver a JavaScript Academy