Switch - JavaScript - MDN
Switch - JavaScript - MDN
This page was translated from English by the community. Learn more and join the MDN Web Docs community.
switch
La declaración switch evalúa una expresión, comparando el valor de esa expresión con una instancia case , y ejecuta declaraciones
asociadas a ese case , así como las declaraciones en los case que siguen.
Syntaxis
switch (expresión) {
case valor1:
//Declaraciones ejecutadas cuando el resultado de expresión coincide con el valor1
[break;]
case valor2:
//Declaraciones ejecutadas cuando el resultado de expresión coincide con el valor2
[break;]
...
case valorN:
//Declaraciones ejecutadas cuando el resultado de expresión coincide con valorN
[break;]
default:
//Declaraciones ejecutadas cuando ninguno de los valores coincide con el valor de la expresión
[break;]
}
expresión
Una instancia case valorN es usada para ser comparada con la expresión . Si la expresión coincide con el valorN , las declaraciones
dentro de la instancia case se ejecutan hasta que se encuentre el final de la declaración switch o hasta encontrar una interrupción break .
default
Una instancia default , cuando es declarada, es ejecutada si el valor de la expresión no coincide con cualquiera de las otras instancias
case valorN .
Descripción
Si ocurre una coincidencia, el programa ejecuta las declaraciones asociadas correspondientes. Si la expresión coincide con múltiples
entradas, la primera será la seleccionada, incluso si las mayúsculas son tenidas en cuenta.
El programa primero busca la primer instacia case cuya expresión se evalúa con el mismo valor de la expresión de entrada (usando
comparación estricta (en-US), ===) y luego transfiere el control a esa cláusula, ejecutando las declaraciones asociadas. Si no se encuentra
una cláusula de case coincidente, el programa busca la cláusula default opcional, y si se encuentra, transfiere el control a esa instancia,
ejecutando las declaraciones asociadas. Si no se encuentra una instancia default el programa continúa la ejecución en la instrucción
siguiente al final del switch . Por convención, la instancia default es la última cláusula, pero no tiene que ser así.
La declaración break es opcional y está asociada con cada etiqueta de case y asegura que el programa salga del switch una vez que se
ejecute la instrucción coincidente y continúe la ejecución en la instrucción siguiente. Si se omite el break el programa continúa la ejecución en
la siguiente instrucción en la declaración de switch .
https://developer.mozilla.org/es/docs/Web/JavaScript/Reference/Statements/switch 1/4
13/1/23, 8:34 switch - JavaScript | MDN
Ejemplos
Usando switch
En el siguiente ejemplo, si expresión se resuelve a "Platanos", el algoritmo compara el valor con el case "Platanos" y ejecuta la declaración
asociada. Cuando se encuentra un break , el programa sale del condicional switch y ejecuta la declaración que lo procede. Si se omite el
break , el case "Cerezas" también es ejecutado.
switch (expr) {
case 'Naranjas':
console.log('El kilogramo de naranjas cuesta $0.59.');
break;
case 'Manzanas':
console.log('El kilogramo de manzanas cuesta $0.32.');
break;
case 'Platanos':
console.log('El kilogramo de platanos cuesta $0.48.');
break;
case 'Cerezas':
console.log('El kilogramo de cerezas cuesta $3.00.');
break;
case 'Mangos':
case 'Papayas':
console.log('El kilogramo de mangos y papayas cuesta $2.79.');
break;
default:
console.log('Lo lamentamos, por el momento no disponemos de ' + expr + '.');
}
https://developer.mozilla.org/es/docs/Web/JavaScript/Reference/Statements/switch 2/4
13/1/23, 8:34 switch - JavaScript | MDN
console.log(2);
break; // al encontrar este 'break' no se continuará con el siguiente 'default:'
default:
console.log('default')
// fall-through
case 1:
console.log('1');
}
Al estar el case 1: a continuación de default , y al no haber un break de por medio, veremos que la declaración del case 1: será ejecutada,
apareciendo el resultado 1 en el log de consola.
Metodos para casos con múltiple criterio
La fuente de esta técnica esta aquí:
Switch statement multiple cases in JavaScript (Stack Overflow)
Operación única con múltiples casos
Este método toma ventaja del hecho de que, si no hay un break debajo de una declaración case , continuará la ejecución hasta el siguiente
case , ignorando si en dicho caso se cumple o no el criterio indicado. Comprobar en la secció n ¿Qué pasa si olvido un break ?
Este es un ejemplo de operación única con sentencia switch secuencial, donde cuatro valores diferentes se comportan exactamente de la
misma manera:
var Animal = 'Jirafa';
switch (Animal) {
case 'Vaca':
case 'Jirafa':
case 'Perro':
case 'Cerdo':
console.log('Este animal subirá al Arca de Noé.');
break;
case 'Dinosaurio':
default:
console.log('Este animal no lo hará.');
}
https://developer.mozilla.org/es/docs/Web/JavaScript/Reference/Statements/switch 3/4
13/1/23, 8:34 switch - JavaScript | MDN
case 5:
output += '!';
console.log(output);
break;
default:
console.log('Por favor, selecciona un valor del 1 al 6.');
}
Compatibilidad en Navegadores
Report problems with this compatibility data on GitHub diordn A rof xoferiF
diordn A emorhC
diordn A arepO
SOi no irafaS
emorhC
xoferiF
arepO
irafaS
e gd E
Chrome 1 Edge 12 Firefox 1 Opera 4 Safari 1 Chrome 18 Firefox 4 Opera 10.1 Safari 1
switch Android for Android on
Android iOS
Tip: you can click/tap on a cell for more information.
Full support
Ver también
if...else
https://developer.mozilla.org/es/docs/Web/JavaScript/Reference/Statements/switch 4/4