Funciones y patrones
16 pasos en 5 series de JavaScript.
Las partes de JavaScript que premian entender en lugar de memorizar. Primero las clausuras, luego la composición de funciones, los generadores, y al final los prototipos y la maquinaria debajo de class.
Dieciséis pasos. Nada de esto se necesita para lanzar algo. Todo se necesita para leer lo que otros ya lanzaron.
Clausuras
- Clausuras como estadoUna función que sobrevive a su ámbito conserva las variables que usó.
- Ejecutar una función una vezEnvuelve una función para que corra la primera vez y devuelva ese resultado para siempre.
- MemoizaciónCachea los resultados de una función por argumento; la segunda llamada sale gratis.
- Caché LRU con MapUn caché de tamaño fijo que expulsa la entrada menos usada recientemente, sobre el orden de inserción de Map.
Componer funciones
- ComposiciónFunciones pequeñas, combinadas de izquierda a derecha o al revés.
- Currificación y aplicación parcialFijar algunos argumentos ahora y el resto después.
- Composición de funcionesCompone funciones de izquierda a derecha: los datos las atraviesan en orden de lectura.
- DebounceEspera a que paren las llamadas antes de actuar, justo lo que quiere un cuadro de búsqueda.
- ThrottleDeja pasar una llamada por intervalo y descarta el resto, justo lo que quiere un manejador de scroll.
Generadores
- GeneradoresFunciones que producen un flujo de valores de forma perezosa.
- Generadores, más a fondoComunicación en dos sentidos: yield envía hacia afuera, next hacia adentro.
Objetos por dentro
- Proxy y ReflectInterceptar el acceso a propiedades: así se construyen los observables.
- SímbolosClaves únicas que nunca chocan, y los símbolos bien conocidos con significado.
- Getters y settersPropiedades calculadas que parecen campos simples.
- Mantener los datos inmutablesCopia, no mutes — y sabe qué tan profundo llega la copia.
Bis
- tail-log.jsResumir un log de acceso desde un archivo o stdin.