0Pricing
Dart Academy · Lección

Las funciones como valores de primera clase

Pasar y devolver funciones como si fueran datos.

Las funciones como valores de primera clase es una lección gratuita de Dart Academy en CoddyKit. Esta es la lección 4 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 Dart Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Dart Academy incluye 4 lecciones en total.

Las funciones son valores

En Dart, una función es un valor first-class, igual que un número o una cadena. Puede almacenarla, pasarla y devolverla. 🎁

Almacenar una función

Asigne una función a una variable usando su nombre sin paréntesis. La variable ahora apunta a la propia función.

int triple(int x) => x * 3;
var f = triple;
f(4); // 12

El tipo Function

Toda función tiene un type que describe sus entradas y su salida. Puede indicar su tipo con la palabra clave Function para aportar claridad.

int Function(int) op = triple;

Pasar una función

Una función puede ser el parameter de otra función. La función receptora la llama más adelante, personalizando el comportamiento sin reescribir el código.

int apply(int x, int Function(int) fn) {
  return fn(x);
}

Funciones de orden superior

Una función que recibe o devuelve otra función es una función higher-order. Estas funciones permiten crear componentes básicos flexibles y reutilizables.

apply(5, triple); // 15

Callbacks en acción

Pasar una función para que se ejecute más adelante se denomina callback. Los métodos de colecciones como forEach utilizan este patrón constantemente.

[1, 2, 3].forEach(print);

Devolver una función

Una función puede crear y devolver otra función. La función returned incluso puede recordar valores del lugar donde se creó.

Function adder(int n) {
  return (int x) => x + n;
}

Usar la función devuelta

Llame a la función creadora, almacene su resultado y después invoque ese resultado. Cada closure mantiene vivo su propio valor capturado.

var add5 = adder(5);
add5(10); // 15

Funciones en colecciones

Como las funciones son valores, puede almacenar varias en una list o en un map y elegir una para ejecutarla durante la ejecución.

var ops = [triple, add5];
ops[0](2); // 6

Transformar con funciones

Métodos como map aceptan una función y la aplican a cada elemento. Así, una transformación se convierte en un value reutilizable que puede pasar de un sitio a otro.

[1, 2, 3].map(triple).toList(); // [3, 6, 9]

Por qué es importante

Las funciones de primera clase permiten personalizar el comportamiento pasando lógica, no indicadores. Esto facilita una composition clara en todo Dart y Flutter. ✨

Comprobación rápida

Compruebe si ha entendido las funciones de primera clase.

Repaso

Ahora puede almacenar, pasar y devolver funciones, así como crear utilidades higher-order. Esta es la base del estilo funcional en Dart. 🎉

Preguntas frecuentes

¿La lección «Las funciones como valores de primera clase» es gratis?

Sí — el texto completo de «Las funciones como valores de primera clase» 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 Dart Academy, actualiza a CoddyKit PRO. El curso de Dart Academy incluye 4 lecciones en total.

¿Qué aprenderé en «Las funciones como valores de primera clase»?

Pasar y devolver funciones como si fueran datos. Practicas Dart 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 Dart Academy?

No se requiere experiencia previa. Dart 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 4 de 4.

¿Cuánto tiempo toma la lección «Las funciones como valores de primera clase»?

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 Dart Academy?

Sí. Cada lección de Dart 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. Declarar funciones y tipos de retorno
  2. Parámetros posicionales y con nombre
  3. Valores predeterminados y required
  4. Las funciones como valores de primera clase
← Volver a Dart Academy