# Estructuras de control en JavaScript

Las estructuras de control en JavaScript nos permiten tomar decisiones en función de ciertas condiciones y controlar el flujo de ejecución de un programa. En este artículo, exploraremos estas estructuras y cómo utilizarlas para escribir código más limpio y eficiente.

## **If**

La estructura <kbd>if</kbd> es una de las más básicas y comunes en JavaScript. Nos permite ejecutar un bloque de código si se cumple una condición determinada. Por ejemplo:

```javascript
const age = 18;

if (age >= 18) {
  console.log("Eres mayor de edad");
}

// "Eres mayor de edad"
```

Evaluamos si la variable <kbd>age</kbd> es mayor o igual que 18. Si se cumple esta condición, se ejecutará el bloque de código dentro de las llaves <kbd>{}</kbd>. Si este código es de una sola línea, podemos omitir las llaves, con salto de línea o separado por espacio. Por ejemplo:

```javascript
const age = 18;

// con salto de línea
if (age >= 18)
	console.log("Eres mayor de edad");
// "Eres mayor de edad"

// en la misma línea
if (age >= 18) console.log("Eres mayor de edad");
// "Eres mayor de edad"
```

## **If-else**

La estructura <kbd>if-else</kbd> nos permite ejecutar un bloque de código si se cumple una condición, y otro bloque de código si no se cumple. Por ejemplo:

```javascript
const age = 16;

if (age >= 18) {
  console.log("Eres mayor de edad");
} else {
  console.log("Eres menor de edad");
}

// "Eres menor de edad"
```

Si la variable <kbd>age</kbd> es mayor o igual que 18, se ejecutará el primer bloque de código. Si no se cumple esta condición, se ejecutará el bloque de código dentro del <kbd>else</kbd>.

## **If-else-if**

La estructura <kbd>if-else-if</kbd> nos permite agregar varias condiciones a nuestra evaluación. Por ejemplo:

```javascript
const day = 3;

if (day === 1) {
  console.log("Es lunes");
} else if (day === 2) {
  console.log("Es martes");
} else if (day === 3) {
  console.log("Es miércoles");
} else {
  console.log("Es otro día");
}

// "Es miércoles"
```

Evaluamos el valor de la variable <kbd>day</kbd>. Si es igual a 1, se ejecutará el primer bloque de código. Si es igual a 2, se ejecutará el segundo bloque de código. Si es igual a 3, se ejecutará el tercer bloque de código. Si no se cumple ninguna de estas condiciones, se ejecutará el bloque de código dentro del <kbd>else</kbd>.

## **Switch**

La estructura <kbd>switch</kbd> nos permite ejecutar diferentes bloques de código dependiendo del valor de una variable. Es similar a la estructura <kbd>if-else-if</kbd>, pero puede ser más fácil de leer y escribir en algunos casos. Por ejemplo:

```javascript
const day = 3;

switch (day) {
  case 1:
    console.log("Es lunes");
    break;
  case 2:
    console.log("Es martes");
    break;
  case 3:
    console.log("Es miércoles");
    break;
  default:
    console.log("Es otro día");
}

// "Es miércoles"
```

Evaluamos el valor de la variable <kbd>day</kbd>. Si es igual a 1, se ejecutará el primer bloque de código. Si es igual a 2, se ejecutará el segundo bloque de código. Si es igual a 3, se ejecutará el tercer bloque de código. Si no se cumple ninguna de estas condiciones, se ejecutará el bloque de código dentro del <kbd>default</kbd>.

## **Elvis/Ternario**

La estructura <kbd>elvis</kbd> o <kbd>ternario</kbd> es una forma abreviada de escribir una evaluación <kbd>if-else</kbd>. Es útil cuando queremos asignar un valor a una variable dependiendo de una condición determinada. Por ejemplo:

```javascript
const age = 18;

const message = age >= 18 ? "Eres mayor de edad" : "Eres menor de edad";

console.log(message);

// "Eres mayor de edad"
```

Evaluamos si la variable <kbd>age</kbd> es mayor o igual que 18. Si se cumple esta condición, la variable <kbd>message</kbd> será igual a <kbd>"Eres mayor de edad"</kbd>. Si no se cumple esta condición, la variable <kbd>message</kbd> será igual a <kbd>"Eres menor de edad"</kbd>. Luego, estamos imprimiendo el valor de la variable <kbd>message</kbd> en la consola.

## **Conclusión**

En JavaScript, las estructuras de control nos permiten tomar decisiones y ejecutar diferentes bloques de código en función de ciertas condiciones. En este artículo, hemos explorado estas estructuras y cómo utilizarlas para escribir código eficiente y claro.

Si quieres profundizar más sobre el tema, te recomiendo siempre revisar la documentación oficial, seguirme en redes sociales o suscribirte a la newsletter del blog para seguir aprendiendo. Enjoy the journey!

### **Fuentes**

* Documentación oficial de JavaScript: [https://developer.mozilla.org/es/docs/Web/JavaScript/Guide/Control\_de\_flujo\_y\_manejo\_de\_errores](https://developer.mozilla.org/es/docs/Web/JavaScript/Guide/Control_de_flujo_y_manejo_de_errores)
    
* Ejemplos prácticos de estructuras de control en JavaScript: [https://www.w3schools.com/js/js\_if\_else.asp](https://www.w3schools.com/js/js_if_else.asp)
