Novedades ES6

Bucles , iteración y acumuladores

Los bucles ofrecen una forma rápida y sencilla de hacer algo repetidamente y un acumulador es un tipo especial de variable que se incrementa o decrementa con valores variables durante la ejecución del programa

En este capítulo de la Guía de JavaScript presenta las diferentes declaraciones de iteración disponibles para JavaScript.
Puedes pensar en un bucle como una versión computarizada del juego en la que le dices a alguien que dé X pasos en una dirección y luego Y pasos en otra. Por ejemplo, la idea "Ve cinco pasos hacia el este" se podría expresar de esta manera como un bucle:

for (let step = 0; step < 5; step++) {
  // Se ejecuta 5 veces, con valores del paso 0 al 4.   console.log('Camina un paso hacia el este');
}

Hay muchos diferentes tipos de bucles, pero esencialmente, todos hacen lo mismo: repiten una acción varias veces. (¡Ten en cuenta que es posible que ese número sea cero!). Los diversos mecanismos de bucle ofrecen diferentes formas de determinar los puntos de inicio y terminación del bucle. Hay varias situaciones que son fácilmente atendidas por un tipo de bucle que por otros. Las declaraciones para bucles proporcionadas en JavaScript son:

  • Declaración for  Un ciclo for se repite hasta que una condición especificada se evalúe como false. El bucle for de JavaScript es similar al bucle for de Java y C
  • Declaración do...while   La instrucción do...while se repite hasta que una condición especificada se evalúe como falsa.
  • Declaración while  Una declaración while ejecuta sus instrucciones siempre que una condición especificada se evalúe como true.
  • Declaración labeled  Proporciona una instrucción con un identificador que te permite hacer referencia a ella en otra parte de tu programa. Por ejemplo, puedes usar una etiqueta para identificar un bucle y luego usar las declaraciones break o continue para indicar si un programa debe interrumpir el bucle o continuar su ejecución.
  • Declaración break   La instrucción break para terminar un bucle. Cuando usas break, inmediatamente termina el while, do-while, for o switch y transfiere el control a la siguiente declaración.
  • Declaración continue  La instrucción continue se puede usar para reiniciar un while, do-while, for, o declaración label
  • Declaración for...in  La instrucción for...in itera una variable especificada sobre todas las propiedades enumerables de un objeto. Para cada propiedad distinta, JavaScript ejecuta las instrucciones especificadas.
  • Declaración for...of  La declaración for...of crea un bucle que se repite sobre objetos iterables (incluidos Array, Map, Set, objetos arguments y así sucesivamente), invocando un gancho de iteración personalizado con declaraciones que se ejecutarán para el valor de cada distinta propiedad.

Concepto de acumulador. 

Problema: Desarrollar un programa que permita la carga de 5 valores por teclado y nos muestre posteriormente la suma.

<!DOCTYPE html>
<html>
<head>
<title>Ejemplo de JavaScript</title>
<meta charset="UTF-8">
</head>
<body>

<script>
var x=1;
var suma=0;
var valor;
while (x<=5)
{
valor=prompt('Ingrese valor:','');
valor=parseInt(valor);
suma=suma+valor;
x=x+1;
}
document.write('La suma de los valores es '+suma+'<br>');
</script>

</body>
</html>

En este problema, a semejanza de los anteriores, llevamos un CONTADOR llamado x que nos sirve para contar las vueltas que debe repetir el while.

También aparece el concepto de ACUMULADOR (un acumulador es un tipo especial de variable que se incrementa o decrementa con valores variables durante la ejecución del programa)

Hemos dado el nombre de suma a nuestro acumulador. Cada ciclo que se repita la estructura repetitiva, la variable suma se incrementa con el contenido ingresado en la variable valor.

La prueba se realiza dándole valores a las variables:

valor suma X
0 0 (Antes de entrar a la estructura repetitiva estos son los valores).
5 5 1
16 21 2
7 28 3
10 38 4
2 40 5

Este es un seguimiento del programa planteado. Los números que toma la variable valor dependerá de qué cifras cargue el operador durante la ejecución del programa.

Hay que tener en cuenta que cuando en la variable valor se carga el primer número (en éste ejemplo es el valor 5), al cargarse el segundo valor (16), el valor anterior 5 se pierde, por ello la necesidad de ir almacenando en la variable suma el valor acumulado de los valores ingresados.