Migrar lodash / underscore in AngularJS code a Angular moderno
Las apps AngularJS solían cargar lodash o underscore como un _ global (a veces inyectado como constante) y lo usaban para colecciones, clonado y debounce, junto con helpers como angular.copy, angular.extend y angular.forEach.
Qué la reemplaza
| Opción | Cuándo elegirla |
|---|---|
| Native JavaScript | map, filter, find, flatMap, Object.entries, structuredClone y optional chaining cubren la mayoría de las llamadas de todos los días. |
| lodash-es with named imports | Conserva las funciones sin equivalente nativo simple (debounce, isEqual, orderBy) y deja que el bundler descarte el resto. |
| es-toolkit | Una librería de utilidades más nueva y pequeña, con una API parecida a lodash, si quieres dejar lodash por completo. |
Cómo migrarla
- Cuenta qué funciones se usan de verdad; una búsqueda de _. normalmente muestra una lista corta.
- Reemplaza el global por imports de ES en los archivos que migras, y usa métodos nativos donde se lean igual de claro.
- Reemplaza también angular.copy, angular.equals y angular.forEach; desaparecen junto con AngularJS.
Cuidado con. Cuidado con las funciones que mutan, como _.merge, _.remove y _.pull. Con signals y detección de cambios OnPush, modificar un arreglo u objeto en el lugar no actualiza la vista.
Otras librerías
¿Planeas una migración o una plataforma de microfrontends?
En una llamada de 20 minutos me cuentas tu situación y te digo cómo la abordaría. Si todavía no vale la pena, también te lo digo.
Escríbeme por LinkedIn