Hans Arango
Espero que mis conocimientos en este tema de switch, case y break se vean bien aplicados en este ejercicio que hice:
La estructura switch en JavaScript te permite evaluar una misma variable contra varios escenarios posibles y ejecutar el bloque de código que coincida. Es ideal cuando tienes muchas opciones discretas que validar, como buscar un producto en una tienda o filtrar respuestas según una categoría.
¿Qué es switch en JavaScript y cuándo conviene usarlo?
A diferencia de if y else if, donde puedes comparar con mayor que, menor que o distinto de, switch solo evalúa una expresión contra valores específicos y ejecuta el caso que coincida [00:13]. Piensa en switch como una lista de escenarios cerrados: si tu expresión es igual a uno de ellos, ese bloque se ejecuta; si no, entra el bloque por defecto.
¿Cuándo usar switch en lugar de if else? Cuando tienes múltiples valores fijos a comparar contra una misma variable. Si solo necesitas dos o tres condiciones con operadores como mayor o menor, if else es más claro.
¿Cómo se escribe la estructura básica de un switch?
La sintaxis tiene tres partes esenciales: la expresión a evaluar, los case con sus valores, y el default como salida final [01:20].
La lógica es secuencial: switch recorre cada case preguntando si la expresión coincide. Si encuentra una coincidencia, ejecuta ese código y el break corta la cadena. Si no coincide ninguno, llega al default.
¿Por qué es importante el break en cada case?
Sin el break, JavaScript seguiría ejecutando los siguientes casos aunque ya hubiera encontrado una coincidencia. El break le dice a switch: ya encontré lo que buscaba, detente aquí. Es la forma de cerrar correctamente un caso y evitar que el código se desborde a otros bloques.
¿Cómo aplicar switch a un ejemplo real con productos de una tienda?
Imagina que entras a un mercado buscando frutas y quieres saber el precio según la fruta que pidas. Esa búsqueda se traduce muy bien a switch [04:00].
Primero declaras tu variable con let expresion = "papayas". Esa es la fruta que estás buscando. Luego, dentro del switch, pasas expresion como la variable a evaluar y abres los casos:
Al ejecutar con expresion = "papayas", la consola devuelve el precio compartido de mangos y papayas. Si cambias la variable a "uvas", que no existe en ningún caso, entra el default y devuelve: "Lo siento, no contamos con uvas. ¿Hay algo más que desees?" [09:30].
¿Cómo agrupar varios case que comparten el mismo código?
Cuando dos o más valores deben ejecutar el mismo bloque, puedes encadenarlos sin repetir código. Solo escribes los case uno tras otro con sus dos puntos y, debajo, el console.log común seguido de un único break. Así evitas duplicar líneas para productos que tienen el mismo precio o respuesta [07:45].
¿Qué pasa si olvido los dos puntos después de un case? JavaScript lanza un error de sintaxis. Los dos puntos son obligatorios para cerrar la declaración del valor antes del bloque de código.
¿Por qué switch usa comparación estricta y qué significa eso?
Un detalle clave que diferencia a switch de if es que internamente usa el operador de comparación estricto, equivalente al triple igual === [10:30]. Esto significa que valida tanto el valor como el tipo de dato.
Si tu expresión es el número 5 y un case tiene el string "5", no van a coincidir, porque uno es número y otro es texto. Por eso switch no admite operadores como mayor que, menor que o distinto: solo verifica igualdad estricta entre la expresión y cada valor.
Esta característica hace que switch sea predecible y rápido para escenarios cerrados, pero te obliga a pensar en los tipos de datos que estás comparando. Si trabajas con entradas de usuario, conviene normalizarlas antes de meterlas al switch.
¿Ya probaste reescribir alguno de tus if else largos como switch? Cuéntame en los comentarios qué caso de uso se te ocurrió primero.
Condicion Switch
La condición switch en JavaScript es una estructura de control que permite ejecutar diferentes bloques de código según el valor de una expresión.
Es especialmente útil cuando necesitas manejar múltiples casos basados en el valor de una variable, proporcionando una alternativa más limpia y legible a múltiples declaraciones if-else.
Sintaxis de switch
La sintaxis básica de switch es la siguiente:
switch(expresión) {
case valor1:
// Código a ejecutar si expresión === valor1
break;
case valor2:
// Código a ejecutar si expresión === valor2
break;
case valor3:
// Código a ejecutar si expresión === valor3
break;
default:
// Código a ejecutar si ninguna de las cases coincide
}
case.case contiene un valor a comparar con la expresión. Si coinciden, se ejecuta el bloque de código asociado.switch después de ejecutar el bloque correspondiente. Sin break, el flujo continuará con el siguiente case (esto se llama "fall-through").case coincide con la expresión.Ejemplo con break y fall-through
let numero = 2;
switch (numero) {
case 1:
console.log("Número es 1");
// No hay break, así que el flujo continúa
case 2:
console.log("Número es 2");
break;
case 3:
console.log("Número es 3");
break;
default:
console.log("Número no está en el rango 1-3");
}
En este caso, si numero es 2, se imprimirá "Número es 2" y luego se detendrá porque hay un break. Si se omite el break en el case 1, la ejecución continuará hasta el siguiente case, imprimiendo "Número es 2".
break: Es crucial usar break para evitar el "fall-through" accidental.default: Siempre es buena práctica incluir un default para manejar casos inesperados.Hans Arango
Espero que mis conocimientos en este tema de switch, case y break se vean bien aplicados en este ejercicio que hice:
Alejandro Sánchez Yalí
No soy fan de Switch, yo prefiero usar Object Literal Pattern:
const switchObject = { valor1: () => { // código a ejecutar para valor1 }, valor2: () => { // código a ejecutar para valor2 }, valor3: () => { // código a ejecutar para valor3 }, default: () => { // código por defecto } }; function ejecutar(expresion) { return (switchObject[expresion] || switchObject.default)(); } // Uso ejecutar('valor1');
Daniela Angulo Ruiz
Jorge López
Las comillas invertidas (`) se utilizan en JavaScript para definir template literals, que permiten interpolar variables dentro de cadenas de texto de una manera más práctica y legible. En lugar de concatenar cadenas usando el operador +, puedes insertar expresiones directamente dentro de la cadena, utilizando ${expresion}. Esto facilita la construcción de cadenas que requieren variables o expresiones y mejora la legibilidad del código.
Ejemplo:
let nombre = "Juan"; console.log(`Hola, ${nombre}!`); // Salida: Hola, Juan!
Andres Massuttier
a buscar en youtube lo que quizo explicar este cuate
David Aldana
Real se le entiende muy poco
Joaquin Ignacio Pinto Reynolds
Oscar Javier Prado Ramos
se referia al switch, no hay al case creo
Juan Miguel Jimenez
Bien, me gustó tu experimento.
Calvin Rafael Bobadilla Fernandez
MIS APUNTES 🚀 🚀**:**
Hugo Montoya Diaz
Muy bien explicado, aqui mi codigo
Leonardo Jurado
ME CONFUNDESSSSSSSS
David Aldana
devuelvan a la otra profesora por favor 😒
Camila Jhovanna Arato Cisneros
Este fue el ejercicio que yo hice, espero les sirva de algo :)
David Rangel
Les recomiendo probar el switch pero quitando los breaks para que se familiaricen más con su comportamiento:
let expression = 'Papayas'; switch (expression) { case 'Naranjas': console.log('Las naranjas cuestan $20/kg'); break; case 'Manzanas': console.log('Las manzanas cuestan $43/kg'); break; case 'Platanos': console.log('El plátano está en $30/kg'); break; case 'Mangos': case 'Papayas': console.log('Los mangos y Papayas cuestan $23/kg'); // break; quiten este break y a ver qué pasa default: console.log(`Lo siento, no contamos con ${expression}`); } console.log('¿Hay algo más que desees?');
Juan Francisco
LINK para meter solo el codigo en javascript y que el navegador lo lea:
De nada
Fernando Emilio Díaz López
Efectivamente, la estructura if-else en JavaScript permite realizar comparaciones más flexibles, utilizando operadores como >, <, ==, ===, || (OR) y && (AND). Esto permite evaluar condiciones complejas. En contraste, switch se limita a evaluar la igualdad exacta (comparación estricta) de una expresión con múltiples casos, sin la posibilidad de usar operadores de comparación. Utiliza switch principalmente para situaciones donde tienes múltiples valores discretos a evaluar, mientras que if-else es preferible para condiciones más complejas.
Enrique Alejandro Terrazas Huamaní
Ejercicio de la clase utilizando prompt para introducir la fruta que deseemos:
let expr = prompt("Ingresa la fruta que desee: ") switch(expr){ case "Naranjas": console.log("Las naranjas cuestan $20 el kilo") break; case "Manzanas": console.log("Las manzanas cuestan $43 el kilo") break; case "Plátanos": console.log("El plátano cuesta $30 el kilo") break; case "Mangos": case "Papayas": console.log("Los mangos y las papayas cuestan $25 el kilo") break; default: console.log(`Lo siento no contamos con ${expr}`) } console.log("Hay algo más que desees?");
Enrique Alejandro Terrazas Huamaní
Reynaldo Francisco Moreno Briceño
function filterListShop() { const search = prompt( "Ingresa lo que deseas buscar en la lista " ).toLowerCase(); switch (search) { case "tomates": console.log("Comprar 5 tomates"); break; case "cebolla": console.log("Comprar 2 cebollas"); break; case "papel": console.log("Comprar papel"); break; default: console.log(`No hace falta comprar ${search}`); break; } } filterListShop();
Seba Cardoso
Buenísima la aclaración del break. Clave entender que si lo olvidamos, el código sigue ejecutando los siguientes casos.
Daniel Vergel
Jesus Alberto Sanchez Castro
Algo que considero que les hizo falta explicar desde clases pasadas a los usuarios que son nuevos fue la diferencia principal entre una const y un let que son variables distintas, una porque su valor siempre va a ser el mismo const que no cambia y let que es una variable que si cambia su valor.
Alejandro García
Jesus, eso se explica en la clase 4. https://platzi.com/cursos/javascript/anatomia-de-una-variable/
Roberto Carlos Moreira España
let expression = 'Papayas';
switch (expression) {
case 'Naranjas':
console.log('Las naranjas cuestan $20/kg');
break;
case 'Manzanas':
console.log('Las manzanas cuestan $43/kg');
break;
case 'Platanos':
console.log('El plátano está en $30/kg');
break;
case 'Mangos':
case 'Papayas':
console.log('Los mangos y Papayas cuestan $23/kg');
// break; quiten este break y a ver qué pasa
default:
console.log(Lo siento, no contamos con ${expression});
}
console.log('¿Hay algo más que desees?');
José Oswaldo Alfaro Morales
El condicional switch en programación es una estructura de control que evalúa una variable contra múltiples casos (case) posibles, ejecutando el bloque de código coincidente. Funciona como alternativa eficiente a los if-else anidados, mejorando la legibilidad para menús de opciones o valores específicos.
haber, sí, es posible poner estructuras condicionales en un switch, siempre y cuando la "key" de swith sea true
let fruta = "manzana"; let frutados = "pera"; let cantidad = 5; //La clave de switch debe ser true para poder agregar estrucutras condicionales switch (true) { case (fruta === frutados): console.log('No son iguales'); break; case (fruta === "naranja"): console.log("Es una naranja."); break; default: console.log("Fruta no reconocida."); }
inge por favor aclare esa parte como sea esa parte final del video.
Estructura de switch
switch(expresion){ case valor1: //código a ejecutar break; case valor1: //código a ejecutar break; case valor2: //código a ejecutar break; case valor3: //código a ejecutar break; case valor4: //código a ejecutar break; default: // código }