Cada desarrollador tiene su propia «mochila» con herramientas que ayudan a resolver las tareas diarias más rápido. Este artículo contiene diez fragmentos de código JS concisos pero extremadamente útiles que se pueden añadir a cualquier proyecto. No dependen de los frameworks y funcionan muy bien en cualquier entorno: desde Node.js hasta el navegador.
1. 📅 Formato de fecha
const formatDate = (date) =>
new Intl.DateTimeFormat('ru-RU', {
dateStyle: 'medium',
timeStyle: 'short',
}).format(date);❓¿Por qué? mostramos la fecha y la hora de forma bonita y localizada.
Ejemplo: formatDate(new Date()) // «29 de junio de 2025, 12:00»
2. 🧪 Verificación: si es promiscuo o no
const isPromise = (val) =>
Boolean(val && typeof val.then === 'function');❓¿Por qué? determinamos que tenemos ante nosotros un prom.
3. 📜 Copiar al portapapeles
const copyToClipboard = async (text) =>
await navigator.clipboard.writeText(text);❓¿Por qué? a menudo es necesario implementar «Copiar» con un clic.
4. 🔁 Copia profunda de objetos
const deepClone = (obj) =>
JSON.parse(JSON.stringify(obj));❓¿Por qué? para no mutar el objeto original.
5. ⏳ Debounce simple
const debounce = (fn, delay = 300) => {
let timeout;
return (...args) => {
clearTimeout(timeout);
timeout = setTimeout(() => fn(...args), delay);
};
};❓¿Por qué? para optimizar eventos frecuentes, como la entrada.
6. 🚫 Eliminar duplicados de una matriz
const unique = (arr) => [...new Set(arr)];❓¿Por qué? limpiamos el conjunto de repeticiones con elegancia.
7. 🆔 Generación de un ID simple
const randomId = () =>
Math.random().toString(36).slice(2, 10);❓¿Por qué? valor único rápido para la interfaz de usuario o claves.
8. ⏱ Retraso en el estilo async/await
const sleep = (ms) =>
new Promise((resolve) => setTimeout(resolve, ms));❓¿Por qué? simulación de retraso, pausas en la animación, pruebas, etc.
9. 💬 Obtener parámetros de la URL
const getQueryParam = (key) =>
new URLSearchParams(window.location.search).get(key);❓ ¿Por qué? se necesita a menudo: al filtrar, paginar, etc.
10. 🧼 Limpiar el objeto de valores vacíos
const cleanObject = (obj) =>
Object.fromEntries(
Object.entries(obj).filter(([_, v]) => v != null)
);❓ ¿Por qué? eliminamos null y undefined antes de enviar los datos.
🤔 ¿Por qué memorizar estos fragmentos?
📌 Ellos deciden tareas típicas, que se encuentran en cualquier proyecto.
📌 Aceleran el desarrollo y hacen que el código sea más limpio.
📌 Comprensibles para los principiantes, útiles para los experimentados.
Si estás aprendiendo a programar y quieres mejorar cada día, echa un vistazo a nuestra aplicación Kodik. ¡Es una formación fascinante de programación a través de la práctica y desafíos!
Versión web de Kodik - https://itcodik.com/
📦 Consejo
Crea un archivo utils.js y guarda allí tu colección de utilidades favoritas, como una navaja suiza JS personal 🛠
