0Pricing
JavaScript Academy · Lección

Aplicación parcial

Fije algunos argumentos y reutilice funciones.

Aplicación parcial es una lección gratuita de JavaScript Academy en CoddyKit. Esta es la lección 1 de 4. 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 4 lecciones en total.

¿Qué es la aplicación parcial?

La aplicación parcial consiste en tomar una función que necesita varios argumentos y fijar algunos de ellos de antemano para producir una función nueva que solo necesite el resto.

Le permite crear funciones especializadas a partir de funciones generales. Una función genérica multiply(a, b) puede convertirse en una función especializada double(b) fijando a = 2.

Una función con muchos argumentos

Comience con una función de propósito general. Aquí, add recibe tres números. A menudo la llama una y otra vez con el mismo primer argumento.

function add(a, b, c) {
  return a + b + c;
}

console.log(add(1, 2, 3));
console.log(add(1, 10, 100));

Fijar argumentos manualmente

La forma más sencilla de aplicar parcialmente una función es crear una función envoltorio que incorpore un argumento directamente y reenvíe el resto.

function add(a, b, c) {
  return a + b + c;
}

function addTen(b, c) {
  return add(10, b, c);
}

console.log(addTen(2, 3));
console.log(addTen(20, 30));

Aplicación parcial con bind

Function.prototype.bind está diseñado para esto. Su primer argumento establece this; todos los argumentos posteriores se rellenan previamente empezando por la izquierda.

Pase null para this cuando no le importe su valor.

function add(a, b, c) {
  return a + b + c;
}

const addTen = add.bind(null, 10);

console.log(addTen(2, 3));
console.log(addTen(20, 30));

Vincular más de un argumento

Puede fijar varios argumentos iniciales a la vez. La función devuelta recibe todos los que queden.

function add(a, b, c) {
  return a + b + c;
}

const addElevenAndTwo = add.bind(null, 11, 2);

console.log(addElevenAndTwo(7));
console.log(addElevenAndTwo(100));

Una función auxiliar partial reutilizable

Puede escribir su propia función partial, que capture los argumentos preestablecidos con el parámetro rest y los combine con los argumentos posteriores mediante spread.

function partial(fn, ...preset) {
  return function (...later) {
    return fn(...preset, ...later);
  };
}

function greet(greeting, name) {
  return greeting + ', ' + name + '!';
}

const sayHello = partial(greet, 'Hello');
console.log(sayHello('Ada'));
console.log(sayHello('Linus'));

Especializar funciones generales

La aplicación parcial resulta especialmente útil cuando una función general da lugar a muchas especializaciones pequeñas y fáciles de leer.

function multiply(a, b) {
  return a * b;
}

const double = multiply.bind(null, 2);
const triple = multiply.bind(null, 3);

console.log(double(5));
console.log(triple(5));

Aplicación parcial con arrays

Las funciones especializadas se leen con claridad dentro de métodos de arrays como map.

function power(exponent, base) {
  return Math.pow(base, exponent);
}

const square = power.bind(null, 2);

console.log([1, 2, 3, 4].map(square));

Rellenar previamente la configuración

Un uso habitual en situaciones reales consiste en fijar un valor de configuración, como un tipo impositivo o un símbolo de moneda, y reutilizar después el resultado en todas partes.

function format(symbol, amount) {
  return symbol + amount.toFixed(2);
}

const usd = format.bind(null, '$');
const eur = format.bind(null, '\u20AC');

console.log(usd(9.5));
console.log(eur(9.5));

Aplicación parcial frente a parámetros predeterminados

Los parámetros predeterminados proporcionan un valor alternativo cuando falta un argumento. La aplicación parcial fija un valor, de modo que quien llama ya no puede cambiarlo para esa posición.

Resuelven problemas distintos: los valores predeterminados son opcionales y los argumentos parciales son fijos.

function log(level, message) {
  return '[' + level + '] ' + message;
}

const error = log.bind(null, 'ERROR');
console.log(error('Disk full'));
console.log(error('Timeout'));

Por qué es importante la aplicación parcial

La aplicación parcial reduce la repetición, expresa claramente la intención y constituye la base de la currificación. Cuando siga pasando el mismo primer argumento, considere fijarlo una sola vez.

function between(min, max, value) {
  return value >= min && value <= max;
}

const isPercentage = between.bind(null, 0, 100);

console.log(isPercentage(50));
console.log(isPercentage(150));

Comprobación rápida

¿Qué devuelve fn.bind(null, 5)?

Resumen: aplicación parcial

Ha aprendido a fijar argumentos de antemano:

  • Los envoltorios manuales incorporan directamente un argumento y reenvían el resto.
  • bind(null, ...args) rellena previamente los argumentos empezando por la izquierda.
  • Una función auxiliar partial personalizada utiliza rest y spread.
  • La aplicación parcial crea especializaciones claras y reutilizables, y prepara el camino para la currificación.

Preguntas frecuentes

¿La lección «Aplicación parcial» es gratis?

Sí — el texto completo de «Aplicación parcial» 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 4 lecciones en total.

¿Qué aprenderé en «Aplicación parcial»?

Fije algunos argumentos y reutilice funciones. 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 1 de 4.

¿Cuánto tiempo toma la lección «Aplicación parcial»?

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. Aplicación parcial
  2. Currificación de funciones
  3. Composición de funciones
  4. Construcción de pipe y compose
← Volver a JavaScript Academy