# Probablemente estás escribiendo JavaScript lento

**URL:** <https://www.yodev.dev/t/you-re-probably-writing-slow-javascript/662>\
**Category:** Desarrollo\
**Tags:** javascript-tips, performance, javascript\
**Created:** [24 Octubre, 2025 11:49 UTC](https://www.yodev.dev/t/you-re-probably-writing-slow-javascript/662 "2025-10-24T11:49:37Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![Elizabeth](https://yyz1.discourse-cdn.com/flex009/user_avatar/www.yodev.dev/elizabeth/32/29_2.png) [@Elizabeth](https://www.yodev.dev/u/Elizabeth)\
**Post date:** [24 Octubre, 2025 11:49 UTC](https://www.yodev.dev/t/you-re-probably-writing-slow-javascript/662/1 "2025-10-24T11:49:37Z")

</div>

# JavaScript rápido no es magia. Solo se trata de conocer estos patrones.

## Probablemente estás escribiendo JavaScript lento.

[Maxime](https://medium.com/@all.technology.stories?source=post_page---byline--2819c3571293---------------------------------------)

 ![](https://canada1.discourse-cdn.com/flex009/uploads/inovacon/original/1X/f74af5f8d49c09480f9d56cae21494d4049de026.jpeg)

Foto de [Seyed Amir Mohammad Tabatabaee](https://unsplash.com/fr/@itsseyed?utm_content=creditCopyText&utm_medium=referral&utm_source=unsplash) en [Unsplash](https://unsplash.com/fr/photos/gros-plan-dun-compteur-de-vitesse-dans-un-vehicule-j-bOUNFZJOs?utm_content=creditCopyText&utm_medium=referral&utm_source=unsplash)

¿Alguna vez has escrito algo en JavaScript, jurando que debería ser rápido, y luego has visto cómo la pestaña de rendimiento de Chrome se ilumina como un árbol de Navidad?

Sí. Lo mismo.

Hace unas semanas, [escribí](https://medium.com/itnext/javascript-the-slow-language-that-actually-runs-fast-when-you-know-how-to-use-it-86f9173f0d66) sobre cómo JavaScript — a pesar de todo el descrédito — puede ser en realidad **rápido**. El truco no está en el lenguaje en sí. Está en **cómo lo usas**.

Pero algunas personas se pusieron en contacto preguntando **cómo** escribir realmente JavaScript rápido.

Así que aquí está. Sin magia. Sin profundos internos de V8. Solo un montón de patrones aburridos, **confiables** , que hacen volar tu código JS, sin sacrificar tu cordura.

## 1. Los bucles superan a todo lo demás (cuando se usan bien)

Los métodos de array son lindos. Hasta que estás llamando a `.map()` dentro de un `.filter()` dentro de un `.reduce()` y te preguntas por qué tu página se siente como si se estuviera derritiendo.

Si te importa la **velocidad** , un buen viejo `for` loop sigue siendo bueno. ¿Por qué? Porque es predecible. V8 sabe exactamente lo que estás haciendo. Sin sobrecarga de devolución de llamada, sin abstracciones, solo iteración en bruto.

¿Quieres rendimiento? Sé primitivo.

Presiona enter o haz clic para ver la imagen en tamaño completo

 ![](https://canada1.discourse-cdn.com/flex009/uploads/inovacon/original/1X/d533f38e34b21178b6d796d8df3812c5f48b1615.png)

No es sexy. Solo rápido.

## 2. Evita el cambio de forma de los objetos

Los objetos de JavaScript son flexibles. **Demasiado flexibles**.

Cambia su forma en pleno vuelo — añade propiedades dinámicamente, elimina cosas — y el motor tira sus suposiciones optimizadas. Lo que una vez fue una clase oculta elegante se convierte en un diccionario torpe.

Mantente con estructuras de objetos **consistentes**. Define todos tus campos de antemano. Si una clave podría existir más tarde, inicialízala como `null` o `undefined` desde el principio.

Cuanto menos sorprendan tus objetos al motor, mejor.

## 3. No vuelvas a declarar tus funciones como un maniático

Si estás definiendo funciones dentro de otras funciones dentro de bucles, por favor, detente.

Presiona enter o haz clic para ver la imagen en tamaño completo

 ![](https://canada1.discourse-cdn.com/flex009/uploads/inovacon/original/1X/1407a630a0bbb178954535770fb0cd8f1cc53c56.png)

No. Simplemente no.

Mueve esa función `process` hacia afuera. Deja que el motor la optimice una vez y listo.

## 4. No envases primitivos solo porque puedes

Puedes hacer esto:

 ![](https://canada1.discourse-cdn.com/flex009/uploads/inovacon/original/1X/699c1e2757fb9e346063944789057348da06cfdd.png)

Pero no deberías.

Esa palabra — `new` — acaba de costarte un montón de rendimiento y claridad mental. Los primitivos envasados se comportan de manera extraña. Son objetos **fingiendo** ser valores.

Mantente con primitivos. Son más rápidos y más cuerdos.

## 5. La memoización no es hacer trampa

Si tu función está devolviendo la misma cosa cada vez para la misma entrada, simplemente cáchala. Especialmente si implica consultas DOM, cálculos costosos o recorridos profundos de objetos anidados.

No obtienes puntos por recalcular algo sin sentido 300 veces por segundo.

## 6. Asíncrono no significa rápido

Algunas personas piensan que poner `async` y `await` por todas partes hace las cosas más rápidas. Lo que realmente hace es **introducir colas de microtareas** y un montón de sobrecarga de programación.

Úsalo cuando lo necesites. No porque VS Code te lo diga.

Si tu código puede ejecutarse de manera síncrona sin bloquear nada importante, déjalo.

## 7. Vigila tus dependencias

Las aplicaciones modernas de JavaScript adoran importar bibliotecas enteras para hacer tres cosas. Esa biblioteca de utilidades de 100KB. Probablemente está haciendo algo que podrías haber escrito en 10 líneas.

Cada dependencia que añades es otro **posible agujero negro de rendimiento**.

Mide dos veces. `npm install` una vez.

## Pensamientos finales

JavaScript no es un lenguaje lento. Pero sí castiga la descuido. La buena noticia es que no necesitas convertirte en **ingeniero de compiladores** para escribir código rápido.

Solo necesitas dejar de hacer las cosas que lo ralentizan.

La mayoría de las victorias de rendimiento no provienen de trucos inteligentes, provienen de conocer las cosas aburridas y hacerlas bien.

Al igual que todo lo demás en el software.

---

<div class="post-metadata">

**Author:** ![Grego](https://yyz1.discourse-cdn.com/flex009/user_avatar/www.yodev.dev/grego/32/649_2.png) [@Grego](https://www.yodev.dev/u/Grego)\
**Post date:** [24 Octubre, 2025 12:52 UTC](https://www.yodev.dev/t/you-re-probably-writing-slow-javascript/662/2 "2025-10-24T12:52:20Z")

</div>

¡Gracias por compartir el artículo de Maxime, Elizabeth! ¡Es directo al grano! 😎
