Bucles: Prácticas recomendadas de JavaScript
Con respecto a los bucles…
JavaScript es un lenguaje muy indulgente. Es fácil escribir código que se ejecute pero tenga errores.
En este artículo, veremos las mejores prácticas para escribir bucles.
¿Cuándo usar un bucle ‘for’?
Podemos usar el ciclo for
para actividades simples que no requieren controles de ciclo dentro del cuerpo.
Así que podemos dejar que se ejecute hasta que se cumpla la condición final.
Por ejemplo, podemos escribir:
Luego terminamos el ciclo cuando i es 10.
Si no tenemos una condición final clara para el ciclo desde el principio, entonces deberíamos usar un ciclo while.
¿Cuándo usar un bucle ‘for-of’?
El bucle for-of es ideal para recorrer cualquier arreglo u otros objetos iterables.
Es ideal para matrices, conjuntos, mapas, listas de nodos y otros objetos con el método Symbol.iterator
.
Por ejemplo, podemos escribir:
…para recorrer un conjunto.
¿Cuándo usar un bucle for-in?
Nunca deberíamos usar el bucle for-in. Recorre las claves de objeto en un orden indeterminado y también recorre las propiedades heredadas que son enumerables.
Por lo tanto, deberíamos evitarlo y usar el método Object.keys
para obtener claves de objeto como una matriz y recorrerlas.
Ingrese al bucle desde una sola ubicación
Solo debemos ingresar a un bucle desde una ubicación para mantener la coherencia. De lo contrario, se producirá confusión.
Coloque el código de inicialización directamente antes del bucle
El código de inicialización del bucle debe colocarse antes del bucle para asegurarnos de que tenemos todos los datos que necesitamos antes de ejecutar el bucle.
De esta forma, no nos olvidaremos de inicializar las variables que necesitamos para ejecutar el ciclo más tarde.
Usar while (verdadero) para bucles infinitos
A veces necesitamos ejecutar bucles infinitos. Podemos ejecutarlos con while(true)
y luego terminar el ciclo más tarde dentro del cuerpo del ciclo.
No queremos un bucle que pueda tener una condición que a veces se vuelve false
.
for(;;)
también puede ser una alternativa aceptable.
Prefiero los bucles cuando son apropiados
Los bucles for
colocan todo el código de control de bucle en un solo lugar. Esto hace que el código sea más legible.
Es difícil olvidar cambiar las condiciones si es necesario si están todas en el mismo lugar en lugar de estar dispersas en diferentes lugares.
No use un bucle for cuando un bucle while sea más apropiado
Un bucle while
puede ser más apropiado si necesitamos controlar un bucle de manera más flexible que un bucle for.
No queremos tener bucles for
que tengan cosas que no sean como:
Utilice {y} para incluir las declaraciones en un bucle
Si nuestro bucle solo tiene una declaración, entonces podemos omitir las llaves para enrollar el cuerpo del bucle.
Sin embargo, deberíamos hacerlo por claridad. Por ejemplo, en lugar de escribir lo siguiente:
Nosotros deberíamos escribir:
De esta manera, no tendremos problemas para confundir dónde comienza y termina el cuerpo del bucle.
Evite los bucles vacíos
Los bucles vacíos son inútiles. Por lo tanto, no tiene sentido crearlos.
Deberíamos escribir código para algo más útil.
Mantenga las tareas de limpieza del ciclo al principio o al final del ciclo
Podemos agregar tareas de limpieza al principio del final del ciclo.
Por ejemplo, podemos escribir algo como:
para que tenga el i++
al final del cuerpo del bucle.
De esta manera, sabemos que todos los cambios están en un solo lugar.
Hacer que cada bucle realice solo una función
Los bucles no deberían hacer varias cosas. Simplemente hace que nuestro código sea difícil de leer para que puedan hacer varias cosas.
Por lo tanto, deberíamos hacer que cada ciclo haga su propia funcionalidad.
Asegurarnos de que el bucle termina
Si nuestro ciclo no es un ciclo infinito, entonces debemos asegurarnos de que finalice.
Tenemos que pensar en los casos normales, los puntos finales y los casos excepcionales.
Asegúrate de que termine el bucle. De lo contrario, probablemente bloqueará nuestro programa.
Conclusión
No deberíamos tener ningún código engañoso en nuestros bucles.
Por lo tanto, siempre debemos agregar llaves alrededor del cuerpo del bucle.
Además, los bucles for
son mejores en muchos casos, ya que las condiciones para iniciar y finalizar el bucle se encuentran en la parte superior del bucle.
Debemos asegurarnos de que nuestro bucle finalice en la mayoría de los casos.