</> CodeBooks
    ← Volver a JavaScript (página 6)
    Portada de Functional JavaScript

    Functional JavaScript

    Michael Fogus

    Editorial
    O'Reilly
    Año
    2013
    Páginas
    ~260
    Nivel
    Intermedio

    De qué trata

    Libro de O'Reilly (2013) en el que Michael Fogus, conocido por su trabajo en Clojure, enseña a programar en JavaScript con estilo funcional usando Underscore.js como base. Está escrito en la época de ES5, antes de las funciones flecha y de los módulos. Se dirige a dos públicos: programadores de JavaScript que quieren aprender técnicas funcionales y programadores funcionales que quieren aprender JavaScript. Conviene manejar ya el lenguaje con soltura; no es un libro para principiantes.

    El recorrido va de lo básico a lo avanzado: funciones como unidades de abstracción, funciones de primera clase y programación aplicativa (map, reduce, find, reject, groupBy y otras de Underscore aplicadas a datos con forma de tabla), ámbito léxico y dinámico, y closures. Siguen las funciones de orden superior (repeat, iterateUntil, fnull, validadores de objetos), las funciones que construyen funciones (currying, aplicación parcial y compose, con pre y poscondiciones) y la recursión: recorrido de grafos, clonado profundo, generadores y trampolines para esquivar los límites de la pila. Después vienen la pureza, la inmutabilidad y las políticas para controlar el cambio, la programación basada en flujos con cadenas perezosas, promesas y pipelines, y la programación sin clases mediante mixins. Los apéndices repasan librerías como Underscore-contrib, RxJS, Bilby y allong.es, y lenguajes que compilan a JavaScript: ClojureScript, CoffeeScript, Roy y Elm.

    No hay proyectos completos. El libro avanza con muchos ejemplos de código que construyen poco a poco una pequeña biblioteca funcional propia, y el código de cada capítulo está publicado en GitHub. Es uno de los textos de referencia sobre JavaScript funcional y sus ideas siguen vigentes, pero hoy se escribiría con sintaxis ES2015+ y con Lodash o Ramda en lugar de Underscore. Es denso y exige leer con calma, aunque recompensa al lector con una forma más clara y comprobable de diseñar código.

    • Programación funcional
    • Underscore.js
    • Funciones de primera clase
    • Programación aplicativa
    • Closures
    • Funciones de orden superior
    • Currying y aplicación parcial
    • Composición
    • Recursión y trampolines
    • Inmutabilidad y pureza
    • Mixins

    ¿Cómo enseña?

    TeóricoPráctico

    Teoría + práctica

    • ✗ Sin ejercicios
    • ✗ Sin proyectos

    Más de JavaScript con nivel Intermedio