Contenido del curso
Primeros Pasos
- 5

¡Hola Mundo!
06:13 min - 6

Anatomía de una variable
09:23 min - 7

Tipos de datos: Mutabilidad e inmutabilidad
10:55 min - 8

Paso por valor
11:06 min - 9

Paso por referencia
07:00 min - 10

Creación de strings
11:33 min - 11

Concatenación de strings
08:31 min - 12

Manipulación de strings
12:13 min - 13

Tipo de dato primitivo: number
09:30 min - 14

Conversión a Booleanos
05:08 min - 15

Tipos de datos primitivos: null, undefined, symbol y bigint
07:28 min - 16

Conversión de tipos: Type Casting y Coercion
04:38 min - 17

Conversión de tipos explícita e implícita
12:20 min - 18

Proyecto: Crea un perfil para redes sociales con JavaScript
07:23 min
Funciones y This
- 19

Anatomía de una función
11:39 min - 20

Preguntas a Desarrolladores Senior: ¿Por qué aprender Desarrollo Web?
02:11 min - 21

Funciones vs Métodos
10:01 min - 22

Funciones puras e impuras
11:22 min - 23

Identificador this
11:38 min - 24

Métodos bind, call y apply
10:09 min - 25

Funciones flecha y enlace léxico
10:31 min - 26

Implicaciones de duplicar código
03:19 min - 27

Funciones constructoras
10:41 min - 28

10 Tipos de funciones
01:39 min - 29

Objeto window y modo estricto
07:37 min - 30

Tipos de binding
01:11 min - 31

Expresiones vs Sentencias
04:02 min - 32

Proyecto: Crea biografías de personajes con JavaScript
12:51 min
Lógica y ciclos
- 33

Operadores de comparación
06:12 min - 34

Operadores lógicos
04:33 min - 35

Ejecución condicional: if
07:45 min - 36

Proyecto: Adivina el número
09:36 min - 37

Ejecución condicional: ternario
05:24 min - 38

Ejecución condicional: switch
Viendo ahora - 39

Loop: for
07:31 min - 40

Loop: forEach
03:57 min - 41

Loop: for of
04:26 min - 42

Loop: for in
07:38 min - 43

Loop: while
03:56 min - 44

Loop: do while
03:13 min - 45

Proyecto: Juego adivina la palabra
15:56 min
Fundamentos de arrays y modificación
- 46

Introducción a Arrays
09:09 min - 47

Mutabilidad e inmutabiliad de Arrays
07:56 min - 48

Modificación básica del final con push(), pop()
04:33 min - 49

Ejercicio: Stack de libros
16:03 min - 50

Modificación del principio con shift(), unshift()
10:21 min - 51

Modificación avanzada con splice(), reverse(), sort(), fill()
16:37 min - 52

Proyecto: Juego de cartas
15:37 min - 53

Preguntas a Desarrolladores Senior: Estrategias y métodos de estudio
01:10 min
Iteración de Arrays
- 54

Iteración con map() y forEach()
12:53 min - 55

Filtrado y reducción con filter() y reduce()
11:34 min - 56

Ejercicio: Calificación promedio aprobatoria
05:27 min - 57

Búsqueda de elementos con find() y findIndex()
03:52 min - 58

Ejercicio: Encuentra al ganador de una rifa
11:21 min - 59

Proyecto: Análisis de transacciones
10:55 min - 60

Proyecto: Análisis de transacciones parte 2
08:01 min
Métodos específicos y Operaciones
- 61

Unir y entrelazar con concat(), spread operator y join()
12:05 min - 62

Verificación y evaluación con every() y some()
05:15 min - 63

Métodos de búsqueda con includes(), indexOf() y lastIndexOf()
07:05 min - 64

Ejercicio: Encontrando los índices
11:09 min - 65

Crear copias con slice()
05:28 min - 66

Spread operator: casos de uso
07:11 min
Arrays multidimencionales
Clases y Objetos
- 71

Anatomia de un Objeto
06:48 min - 72

Trabajando con objetos
12:52 min - 73

Función constructora
14:31 min - 74

¿Qué es una clase?
06:17 min - 75

Prototipos y herencias
02:15 min - 76

Herencia en la práctica
15:38 min - 77

Prototipos en la práctica
10:42 min - 78

this en JavaScript
05:36 min - 79

Proyecto: Crea una red social
12:25 min - 80

Proyecto: Crea una red social parte 2
09:00 min
Ejecución condicional: switch
Resumen
Cuando necesitas evaluar una misma variable contra múltiples valores posibles, existe una estructura de control que simplifica la lógica y mantiene el código limpio. Se trata de Switch, una alternativa al uso encadenado de if, else if y else, con una diferencia fundamental: Switch únicamente verifica si una expresión es estrictamente igual a cada uno de los casos definidos.
¿Cómo funciona la estructura Switch?
Switch recibe una expresión entre paréntesis, que es el valor a evaluar. Dentro de sus llaves se definen múltiples bloques llamados case, cada uno con un valor específico [0:54]. Si la expresión coincide con el valor de un case, se ejecuta el código asociado. Al terminar, se utiliza la palabra reservada break para detener la evaluación y evitar que el programa siga revisando los casos restantes [1:28].
Si ninguno de los casos resulta verdadero, Switch ejecuta el bloque default, que actúa como respuesta de respaldo, similar a lo que haría un else al final de una cadena de condicionales [2:14].
¿Cuál es la sintaxis básica de Switch?
La estructura se compone de estos elementos:
- switch(expresión): declara la evaluación.
- case valor: define un escenario posible, seguido de dos puntos.
- código a ejecutar: las instrucciones que corren si el caso coincide.
- break: rompe el ciclo para no seguir evaluando.
- default: código que se ejecuta cuando ningún caso coincide.
Es importante respetar los dos puntos después de cada case y su valor. Omitirlos genera un error de sintaxis que impide la ejecución [5:13].
¿Cómo se aplica Switch en un ejemplo real?
Imagina que trabajas en un mercado y necesitas consultar el precio de distintas frutas [3:28]. Se crea una variable llamada expresion con el valor del producto buscado:
javascript let expresion = "papayas";
switch (expresion) {
case "naranjas":
console.log("Las naranjas cuestan 20 pesos el kilo");
break;
case "manzanas":
console.log("Las manzanas cuestan 43 pesos el kilo");
break;
case "plátanos":
console.log("Los plátanos cuestan 30 pesos el kilo");
break;
case "mangos":
case "papayas":
console.log("Los mangos y las papayas cuestan 25 pesos el kilo");
break;
default:
console.log(Lo siento, no contamos con ${expresion});
}
console.log("¿Hay algo más que desees?");
Al guardar y ejecutar, como la expresión es "papayas", el programa entra al caso compartido de mangos y papayas y muestra: "Los mangos y las papayas cuestan 25 pesos el kilo" [6:28].
¿Qué son los casos compartidos en Switch?
Cuando dos o más valores deben ejecutar el mismo bloque de código, puedes apilarlos sin agregar lógica duplicada [5:47]. Basta con escribir un case tras otro sin break entre ellos. En el ejemplo, tanto "mangos" como "papayas" comparten el mismo precio, así que comparten el mismo bloque de ejecución. Esto mantiene el código DRY (sin repeticiones innecesarias).
Si cambias la expresión a "uvas", un producto que no existe entre los casos definidos, Switch cae directamente en el default y responde: "Lo siento, no contamos con uvas" [7:23].
¿Por qué Switch usa comparación estricta?
A diferencia de if, donde puedes usar operadores como >, <, >= o !=, Switch trabaja internamente con el operador de comparación estricta (===) [8:08]. Esto significa que evalúa tanto el valor como el tipo de dato. No puedes usar operadores relacionales ni lógicos dentro de los case; Switch solo pregunta: ¿la expresión es exactamente igual a este valor?
Esta restricción hace que Switch sea ideal para escenarios donde comparas una variable contra valores concretos y predefinidos, como nombres de productos, opciones de menú o códigos de estado. Para condiciones más complejas con rangos o múltiples comparaciones, if y else if siguen siendo la mejor opción.
Si te interesa practicar, prueba agregar más frutas, cambiar los precios o incluso usar números en lugar de strings para observar cómo la comparación estricta afecta los resultados.