En el post de hoy analizaremos las ventajas de uso de las Bibliotecas Lodash, una biblioteca moderna de utilidades de JavaScript que actualmente está dando mucho que hablar. ¡Atentos!
¿Qué son las bibliotecas Lodash?
Lodash es una librería de referencia en JavaScript. Además, es el sucesor más famoso de underscore.js.
Se usa para simplificar el manejo y edición de objetos, arrays, etc. ya que este proporciona muchos métodos de utilidad para hacerlo.
A su vez, simplificando este trabajo conseguimos que nuestro código sea mucho más legible y fácil de seguir para terceras personas.
Como bien se ha dicho antes, Lodash es el sucesor más famoso de underscore.js. En un primer momento fue un simple “fork” y se añadieron más funciones.
A día de hoy ha sido rediseñada por completo.
La información en GitHub la tienes aquí.
La documentación la tienes aquí.
Instalación de Lodash
- Navegador web
1 |
<script src="lodash.js"></script> |
- NPM
1 |
npm install --save lodash |
- Uso en NodeJS (En nuestro file de Node, cargamos el componente)
1 |
const _ = require('lodash') |
Forma tradicional vs Lodash
A continuación, vamos a ver algunos ejemplos pequeños sobre cómo se ejecutarían ciertas funciones con Lodash y cómo las haríamos si no contásemos con la misma.
- Devolver el valor de una clave del primer item de un array que es el valor de otra clave:
123456789101112131415161718// Obtener el nombre del primer hermano de cada personavar personas = [{"nombre": "Jose Luis","hermanos": [{"nombre":"David"}, {"nombre": "Sonia"}]}, {"nombre": "Alfonso Manuel","hermanos": [{"nombre":"Gustavo"}, {"nombre": "Juan"}]}];// Array's map method.var nombres = personas.map(function(item){return item.hermanos[0].nombre;});// [ 'David', 'Gustavo' ]// Lodashvar nombresBis = _.map(personas, 'hermanos[0].nombre');// [ 'David', 'Gustavo' ]
- Obtener número aleatorio entre dos números:
12345678910111213// Obtener un número aleatorio entre 15 y 20.// Función nativafunction getRandomNumber(min, max){return Math.floor(Math.random() * (max - min + 1)) + min;}var random = getRandomNumber(15, 20);// ej: 16// Lodashvar randomTwo = _.random(15, 20);// ej: 19
- Extend object:
123456789101112131415161718// Adding extend function to Object.prototypeObject.prototype.extend = function(obj) {for (var i in obj) {if (obj.hasOwnProperty(i)) {this[i] = obj[i];}}};var objA = {"nombre": "Jose Luis", "coche": "BMW"};var objB = {"nombre": "Alfonso", "edad": 24};objA.extend(objB);// {"nombre": "Alfonso", "edad": 24, "coche": "BMW"}// Lodash_.assign(objA, objB);// {"nombre": "Alfonso", "edad": 24, "coche": "BMW"}
- Obtener último elemento:
12345678910111213var personas = [{"nombre": "Jose Luis"}, {"nombre": "Alfonso Manuel"}, {"nombre": "Domingo"}];var last = personas[personas.length - 1];// Domingovar lastTwo = _.last(personas);// Domingo
Conclusiones
Lodash es, sin lugar a dudas, una muy buena biblioteca y de gran utilidad. Continuaré usándola en todos mis proyectos de NodeJS.
Sin embargo, destacaría ventajas como la reducción de la cantidad de código repetitivo.
Además, también mejora la claridad de la lógica de mi aplicación.
Sin embargo, para lo que más me ha servido ha sido para pensar de una manera más funcional. Desmenuzo mi aplicación en módulos más pequeños con un enfoque singular y sin efectos secundarios.
Finalmente, esta modularidad me permite escribir un código de más calidad.
Déjanos un comentario