| [ Web Proxy ] |
| Viewing: https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Statements/switch | [Back] [Original] |
Get to know MDN better
This page was translated from English by the community. Learn more and join the MDN Web Docs community.
This feature is well established and works across many devices and browser versions. Its been available across browsers since 2015 7.
const expr = "Papayas";
switch (expr) {
case "Oranges":
console.log("Oranges are $0.59 a pound.");
break;
case "Mangoes":
case "Papayas":
console.log("Mangoes and papayas are $2.79 a pound.");
// : "Mangoes and papayas are $2.79 a pound."
break;
default:
console.log(`Sorry, we are out of ${expr}.`);
}
switch (expression) {
case caseExpression1:
statements
case caseExpression2:
statements
//
case caseExpressionN:
statements
default:
statements
}
expression case .
caseExpressionN Optionalexpression case . expression caseExpressionN , case (statement) switch break .
default Optional . expression case . switch default .
switch (undefined) {
case console.log(1):
case console.log(2):
}
// 1
case , default (statement) .
default switch (statement) .
default , .
default SyntaxError .
switch break , case switch . case .
break case , default . "(fall-through)" .
const foo = 0;
switch (foo) {
case -1:
console.log("negative 1");
break;
case 0: // foo ;
console.log(0);
// break ! .
case 1: // 'case 0:' break case
console.log(1);
break; // break . 'case 2:'
case 2:
console.log(2);
break;
default:
console.log("default");
}
// 0 1
switch . switch , return switch . switch , continue switch .
case default (label) : . ( ). :
const action = "say_hello";
switch (action) {
case "say_hello":
const message = "hello";
console.log(message);
break;
case "say_hi":
const message = "hi";
console.log(message);
break;
default:
console.log("Empty action received.");
}
"Uncaught SyntaxError: Identifier 'message' has already been declared" . const message = 'hello'; const message = 'hi'; . case . const switch .
case let const .
const action = "say_hello";
switch (action) {
case "say_hello": {
const message = "hello";
console.log(message);
break;
}
case "say_hi": {
const message = "hi";
console.log(message);
break;
}
default: {
console.log("Empty action received.");
}
}
hello .
, expr Bananas case 'Bananas' (statement) . break switch switch (statement) . break case 'Cherries' (statement) .
switch (expr) {
case "Oranges":
console.log("Oranges are $0.59 a pound.");
break;
case "Apples":
console.log("Apples are $0.32 a pound.");
break;
case "Bananas":
console.log("Bananas are $0.48 a pound.");
break;
case "Cherries":
console.log("Cherries are $3.00 a pound.");
break;
case "Mangoes":
case "Papayas":
console.log("Mangoes and papayas are $2.79 a pound.");
break;
default:
console.log(`Sorry, we are out of ${expr}.`);
}
console.log("Is there anything else you'd like?");
, default (statement) .
const foo = 5;
switch (foo) {
case 2:
console.log(2);
break; // break 'default:'
default:
console.log("default");
//
case 1:
console.log("1");
}
default case .
case break , case case .
case .
const Animal = "Giraffe";
switch (Animal) {
case "Cow":
case "Giraffe":
case "Dog":
case "Pig":
console.log("This animal is not extinct.");
break;
case "Dinosaur":
default:
console.log("This animal is extinct.");
}
case . case . JavaScript , case .
const foo = 1;
let output = "Output: ";
switch (foo) {
case 0:
output += "So ";
case 1:
output += "What ";
output += "Is ";
case 2:
output += "Your ";
case 3:
output += "Name";
case 4:
output += "?";
console.log(output);
break;
case 5:
output += "!";
console.log(output);
break;
default:
console.log("Please pick a number from 0 to 5!");
}
:
foo NaN 1, 2, 3, 4, 5, 0 |
Please pick a number from 0 to 5! |
0 |
Output: So What Is Your Name? |
1 |
Output: What Is Your Name? |
2 |
Output: Your Name? |
3 |
Output: Name? |
4 |
Output: ? |
5 |
Output: ! |
if ("fetch" in globalThis) {
// fetch
} else if ("XMLHttpRequest" in globalThis) {
// XMLHttpRequest
} else {
// AJAX
}
=== , switch .
switch (true) {
case "fetch" in globalThis:
// fetch
break;
case "XMLHttpRequest" in globalThis:
// XMLHttpRequest
break;
default:
// AJAX
break;
}
if...else switch (true) .
switch (true) {
case isSquare(shape):
console.log("This shape is a square.");
// , !
case isRectangle(shape):
console.log("This shape is a rectangle.");
case isQuadrilateral(shape):
console.log("This shape is a quadrilateral.");
break;
case isCircle(shape):
console.log("This shape is a circle.");
break;
}
| Specification |
|---|
| ECMAScript 2027 LanguageSpecification # sec-switch-statement |
This page was last modified on 2025 6 27 by MDN contributors.
Your blueprint for a better internet.
Portions of this content are 19982026 by individual mozilla.org contributors. Content available under a Creative Commons license.
| Web Proxy Viewer | New URL | Original Page |