La programación funcional es un paradigma de programación que trata la computación como una evaluación de funciones matemáticas y evita cambios de estado y datos mutables. En JavaScript, esto se hace más fácil por el hecho de que las funciones son objetos de primera clase, lo que significa que pueden pasarse como argumentos a otras funciones, devolverse como valores de otras funciones y asignarse a variables.

La programación funcional en JavaScript generalmente implica el uso de funciones puras, que son funciones que dan el mismo resultado para los mismos argumentos y no tienen efectos secundarios. Esto significa que no modifican ningún estado o variable fuera de la función. Esto hace que su comportamiento sea predecible y fácil de probar.

Por ejemplo, considere la siguiente función pura:

función suma(a, b) {
    devolver a + b;
}

Esta función siempre devolverá el mismo resultado para los mismos argumentos y no modificará ningún estado externo.

Otro concepto importante en la programación funcional es la inmutabilidad, que es la idea de que una vez que se crea una variable, su valor no se puede cambiar. En cambio, cualquier modificación a una variable dará como resultado una nueva variable. Esto es útil para evitar efectos secundarios y hacer que el código sea más predecible.

sea ​​a = 1;
sea ​​b = a + 1; // b ahora es 2, pero a sigue siendo 1

Las funciones de alto orden son otro pilar de la programación funcional. Estas son funciones que operan sobre otras funciones, ya sea tomándolas como argumentos o devolviéndolas como resultado. En JavaScript, las funciones de orden superior se usan comúnmente con métodos de matriz como mapear, filtrar y reducir.

sean números = [1, 2, 3, 4, 5];

let duplicado = números.map(función(n) {
    devolver n * 2;
}); // [2, 4, 6, 8, 10]

let pares = números.filtro(función(n) {
    devolver n % 2 === 0;
}); // [2, 4]

sea ​​suma = números.reducir(función(total, n) {
    devolver total + n;
}, 0); // 15

El uso de funciones de orden superior como estas puede hacer que el código sea más conciso y legible.

Finalmente, la composición de funciones es otra técnica común en la programación funcional. Esto implica crear funciones complejas combinando funciones más simples. En JavaScript, esto se puede hacer usando la función de redacción, que se puede implementar como:

función componer(f, g) {
    función de retorno (x) {
        devolver f(g(x));
    };
}

Con esta función, puede crear nuevas funciones combinando otras funciones. Por ejemplo, podrías crear una función para duplicar y luego sumar 1 a un número:

let foldEAd1 = compose(function(n) { return n + 1; }, function(n) { return n * 2; });

doblarAndAdd1(4); // 9

En resumen, la programación funcional es un paradigma poderoso que puede hacer que el código sea más predecible, más fácil de probar y de entender. Si bien puede ser un poco diferente de lo que estás acostumbrado si vienes de un entorno imperativo u orientado a objetos, vale la pena aprenderlo y usarlo en tu código JavaScript.

Ahora responde el ejercicio sobre el contenido:

¿Cuál de los siguientes conceptos NO es un pilar de la programación funcional en JavaScript?

¡Tienes razón! Felicitaciones, ahora pasa a la página siguiente.

¡Tú error! Inténtalo de nuevo.

Imagen del artículo Programación reactiva con RxJS

Siguiente página del libro electrónico gratuito:

108Programación reactiva con RxJS

3 minutos

¡Obtén tu certificado para este curso gratis! descargando la aplicación Cursa y leyendo el libro electrónico allí. ¡Disponible en Google Play o App Store!

Disponible en Google Play Disponible en App Store

+ 6,5 millones
estudiantes

Certificado gratuito y
válido con código QR

48 mil ejercicios
gratis

Calificación de 4.8/5
en tiendas de aplicaciones

Cursos gratuitos de
vídeo, audio y texto.