JavaScript
Tutorial JavaScript: Estructuras de control
JavaScript estructuras control: tipos y uso. Domina las diferentes estructuras de control en JavaScript con ejemplos prácticos y detallados.
Aprende JavaScript GRATIS y certifícateLas estructuras de control en JavaScript son instrucciones que permiten manejar el flujo de ejecución de un programa. Estas estructuras, también conocidas como sentencias de control, son fundamentales para el desarrollo de algoritmos que requieren una ejecución no lineal.
Existen diversas estructuras de control en JavaScript, como las condicionales y las iterativas o de repetición, que permiten la realización de tareas y decisiones específicas basándose en el cumplimiento de ciertas condiciones o finalización de iteraciones.
Estructuras de control condicionales
Las estructuras condicionales son aquellos bloques de código que se ejecutan únicamente si se cumple una condición específica. Esto permite que un programa tome decisiones basándose en el cumplimiento de ciertos criterios.
if
La sentencia if
es la estructura de control condicional más básica que permite evaluar una condición. Si la condición es verdadera, se ejecutará el bloque de código asociado, si no, se ignorará.
let numero = 5;
if (numero > 0) {
console.log("El número es positivo");
}
En este ejemplo, si el valor de la variable numero
es mayor que 0, se imprimirá en la consola "El número es positivo".
else
La sentencia else
se utiliza en conjunto con if
, para establecer un bloque de código que se ejecutará en caso de que la condición evaluada sea falsa.
let numero = -1;
if (numero > 0) {
console.log("El número es positivo");
} else {
console.log("El número no es positivo");
}
En este ejemplo, como el valor de la variable numero
no es mayor que 0, se imprimirá en la consola "El número no es positivo".
else if
La sentencia else if
permite evaluar múltiples condiciones en una misma estructura condicional. Esta sentencia se utiliza después de un if
, y antes de un else
, si se desea agregar más condiciones a verificar.
let numero = 0;
if (numero > 0) {
console.log("El número es positivo");
} else if (numero < 0) {
console.log("El número es negativo");
} else {
console.log("El número es cero");
}
En el ejemplo, si el valor de la variable numero
es mayor que 0 se imprimirá "El número es positivo", si es menor que 0 se imprimirá "El número es negativo" y si no cumple ninguna de las condiciones anteriores se imprimirá "El número es cero".
Estructuras de control iterativas
Las estructuras iterativas, también conocidas como bucles o loops, permiten la repetición de un bloque de código hasta que se cumpla una condición específica, lo que resulta útil cuando es necesario ejecutar una tarea varias veces.
for
El bucle for
es útil cuando se desea ejecutar una acción múltiples veces conociendo de antemano la cantidad de repeticiones. La sintaxis del bucle for
se compone de tres partes: la inicialización, la condición y la actualización de la variable de control (también conocida como contador o iterador).
La sintaxis básica de un bucle for
es la siguiente:
for (inicialización; condición; actualización) {
// bloque de código a ejecutar
}
Inicialización: En esta parte se crea y asigna un valor inicial a la variable de control. Por lo general, esta variable es un número que actúa como índice o contador. La inicialización solo se ejecuta una vez, antes de comenzar el bucle.
Condición: La condición es una expresión booleana que se evalúa antes de cada iteración del bucle. Si la condición es verdadera, el bloque de código asociado se ejecuta. Si es falsa, el bucle termina y el flujo de control del programa continúa después del bucle.
Actualización: Esta parte actualiza el valor de la variable de control después de cada iteración. Por lo general, consiste en incrementar o disminuir el valor del contador.
A continuación se muestra un ejemplo de un bucle for
que suma los números del 1 al 10:
let suma = 0;
for (let i = 1; i <= 10; i++) {
suma += i;
}
console.log("La suma de los números del 1 al 10 es:", suma);
En este ejemplo:
- La inicialización crea y asigna el valor 1 a la variable
i
. - La condición es que
i
sea menor o igual a 10. Como el valor inicial dei
es 1, la condición se cumple y se entra al bucle. - Dentro del bloque de código del bucle, se suma el valor actual de
i
a la variablesuma
. - La actualización incrementa el valor de
i
en 1 al final de cada iteración, usando el operadori++
. - El bucle continúa con la próxima iteración, evaluando nuevamente la condición. Si la condición es verdadera, se repite el proceso. Si es falsa, se sale del bucle, y se ejecuta la siguiente línea, imprimiendo la suma final en la consola.
De esta manera, el bucle for
permite controlar de manera efectiva la cantidad de veces que se ejecuta un bloque de código y facilita la realización de tareas repetitivas en función de una variable de control previamente definida.
while
El bucle while
es útil cuando no se conoce de antemano cuántas veces se repetirá un bloque de código, pero se conoce la condición bajo la cual se debe seguir repitiendo. Este bucle ejecuta un bloque de código siempre que se cumpla una condición específica.
El siguiente ejemplo muestra un bucle while
que calcula el factorial de un número (el factorial es el producto de todos los números enteros positivos desde 1 hasta un número n):
let numero = 5;
let factorial = 1;
while (numero > 1) {
factorial *= numero;
numero--;
}
console.log(factorial);
En este ejemplo, el bucle while
se ejecuta mientras el valor de la variable numero
sea mayor que 1. Durante cada iteración, el valor de factorial
se multiplica por el valor actual de numero
, y luego numero
se disminuye en 1.
do...while
El bucle do...while
es similar al bucle while
, pero su condición se evalúa después de ejecutar el bloque de código en lugar de antes, lo que garantiza que el bloque de código se ejecute al menos una vez. El siguiente ejemplo muestra un bucle do...while
que solicita un número mayor que 10 al usuario:
let numero;
do {
numero = parseInt(prompt("Ingrese un número mayor que 10:"));
} while (numero <= 10);
console.log("El número ingresado es:", numero);
En este ejemplo, el bucle do...while
continúa solicitando un número al usuario hasta que se ingresa un número mayor que 10. Una vez que se cumple la condición, se muestra el número ingresado en la consola.
Otros operadores de control
Además de las estructuras básicas de control, JavaScript también ofrece algunas sentencias adicionales que permiten controlar el flujo de un programa de forma más avanzada.
break
La sentencia break
se utiliza para salir de forma anticipada de un bucle. Es útil cuando se desea terminar la ejecución del bucle antes de que se cumpla la condición establecida en la estructura iterativa. El siguiente ejemplo muestra un bucle for
que imprime números aleatorios pero se detiene al obtener un número menor a 0.5:
for (let i = 0; i < 100; i++) {
let numeroAleatorio = Math.random();
console.log(numeroAleatorio);
if (numeroAleatorio < 0.5) {
break;
}
}
En este ejemplo, cuando se encuentra un número aleatorio menor a 0.5, la sentencia break
fuerza la salida del bucle for
.
continue
La sentencia continue
permite interrumpir la iteración actual de un bucle e inmediatamente pasar a la siguiente. Es útil cuando se desea omitir una parte del código en la iteración actual y luego continuar con el resto de las iteraciones. El siguiente ejemplo muestra un bucle for
que imprime los números impares entre 1 y 10:
for (let i = 1; i <= 10; i++) {
// Un número es par si su resto al dividir por 2 (i % 2) es 0
if (i % 2 === 0) {
continue;
}
console.log(i);
}
En este ejemplo, si el número i
es par, la sentencia continue
evita que se ejecute la instrucción console.log(i)
y pasa a la siguiente iteración, imprimiendo solo los números impares.
En resumen, las estructuras de control en JavaScript son fundamentales para el desarrollo de algoritmos y su correcta aplicación en programas, permitiendo realizar distintas tareas y tomar decisiones en función del cumplimiento de condiciones y de la finalización de iteraciones. Mediante el uso de las estructuras condicionales e iterativas, así como de las sentencias de control, se puede crear un flujo de ejecución del programa eficiente y adecuado a las necesidades específicas de la aplicación.
Ejercicios de esta lección Estructuras de control
Evalúa tus conocimientos de esta lección Estructuras de control con nuestros retos de programación de tipo Test, Puzzle, Código y Proyecto con VSCode, guiados por IA.
Funciones flecha
Polimorfismo
Array
Transformación con map()
Introducción a JavaScript
Gestor de tareas con JavaScript
Manipulación DOM
Funciones
Funciones flecha
Async / Await
Creación y uso de variables
Excepciones
Promises
Funciones cierre (closure)
Herencia
Herencia
Estructuras de control
Selección de elementos DOM
Modificación de elementos DOM
Filtrado con filter() y find()
Funciones cierre (closure)
Funciones
Mapas con Map
Reducción con reduce()
Callbacks
Manipulación DOM
Promises
Async / Await
Eventos del DOM
Async / Await
Promises
Filtrado con filter() y find()
Callbacks
Creación de clases y objetos Restaurante
Reducción con reduce()
Filtrado con filter() y find()
Reducción con reduce()
Conjuntos con Set
Herencia de clases
Eventos del DOM
Clases y objetos
Modificación de elementos DOM
Mapas con Map
Funciones
Tipos de datos
Clases y objetos
Array
Conjuntos con Set
Array
Encapsulación
Clases y objetos
Uso de operadores
Uso de operadores
Estructuras de control
Excepciones
Transformación con map()
Funciones flecha
Selección de elementos DOM
Encapsulación
Mapas con Map
Creación y uso de variables
Polimorfismo
Tipos de datos
Estructuras de control
Todas las lecciones de JavaScript
Accede a todas las lecciones de JavaScript y aprende con ejemplos prácticos de código y ejercicios de programación con IDE web sin instalar nada.
Introducción A Javascript
Sintaxis
Tipos De Datos
Sintaxis
Variables
Sintaxis
Operadores
Sintaxis
Estructuras De Control
Sintaxis
Funciones
Sintaxis
Funciones Cierre (Closure)
Sintaxis
Funciones Flecha
Programación Funcional
Filtrado Con Filter() Y Find()
Programación Funcional
Transformación Con Map()
Programación Funcional
Reducción Con Reduce()
Programación Funcional
Clases Y Objetos
Programación Orientada A Objetos
Excepciones
Programación Orientada A Objetos
Encapsulación
Programación Orientada A Objetos
Herencia
Programación Orientada A Objetos
Polimorfismo
Programación Orientada A Objetos
Array
Estructuras De Datos
Conjuntos Con Set
Estructuras De Datos
Mapas Con Map
Estructuras De Datos
Manipulación Dom
Dom
Selección De Elementos Dom
Dom
Modificación De Elementos Dom
Dom
Eventos Del Dom
Dom
Callbacks
Programación Asíncrona
Promises
Programación Asíncrona
Async / Await
Programación Asíncrona
Certificados de superación de JavaScript
Supera todos los ejercicios de programación del curso de JavaScript y obtén certificados de superación para mejorar tu currículum y tu empleabilidad.
En esta lección
Objetivos de aprendizaje de esta lección
- Comprender qué son las estructuras de control y su importancia en el desarrollo de algoritmos.
- Conocer las estructuras condicionales (
if
,else
,else if
) y su uso para tomar decisiones en el código. - Aprender a utilizar los bucles (
for
,while
,do...while
) para repetir tareas hasta que se cumpla una condición. - Familiarizarse con las sentencias adicionales (
break
,continue
) para controlar el flujo de un programa en casos específicos. - Saber aplicar adecuadamente las estructuras de control en diferentes situaciones para crear un flujo de ejecución eficiente y adecuado en el programa.