[JS] : Switch
ํน์ง
switch ๋ฌธ์๋ [ case + default + break ] ์ด 3๊ฐ์ง๊ฐ ํจ๊ป ์กด์ฌํ๋ค.
ํด๋น ๋ณ์๋ฅผ ์ํฉ์ ๋ง๋ ๋ก์ง์ ์คํ์ํค๊ธฐ ์ํ case์,
๋ง๋ case๊ฐ ์กด์ฌํ์ง ์์๋์ ๊ธฐ๋ณธ๊ฐ์ ๋ํ๋ผ default์,
์๋ง์ case์ ๋ก์ง์ด ์คํ๋๊ณ switch๋ฌธ์ ๋๋ด์ค break๋ก ๊ตฌ์ฑ๋๋ค.
์์ 1
let fruit = 'ํค์';
switch (fruit) {
case '์ฌ๊ณผ':
console.log('์ฌ๊ณผ์
๋๋ค.');
break;
case '๋ฐ๋๋':
console.log('๋ฐ๋๋์
๋๋ค.');
break;
case 'ํค์':
console.log('ํค์์
๋๋ค.');
break;
default:
console.log('์๋ฌด๊ฒ๋ ์๋๋๋ค.');
break;
}
์์ 1 ์ถ๋ ฅ ๊ฐ
ํค์์
๋๋ค.
์์ 2 (none break)
let fruit = 'ํค์';
switch (fruit) {
case '์ฌ๊ณผ':
console.log('์ฌ๊ณผ์
๋๋ค.');
case '๋ฐ๋๋':
console.log('๋ฐ๋๋์
๋๋ค.');
case 'ํค์':
console.log('ํค์์
๋๋ค.');
default:
console.log('์๋ฌด๊ฒ๋ ์๋๋๋ค.');
}
์์ 2 ์ถ๋ ฅ ๊ฐ
ํค์์
๋๋ค.
์๋ฌด๊ฒ๋ ์๋๋๋ค.
์์๋ธ ๊ฒ
fruit๋ผ๋ ๋ณ์๊ฐ switch๋ฌธ์ ํค์ case์์ ๋ฉ์ธ๋ก์ง์ ์คํํ ๋ค, break์ ๋ถ์ฌ๋ก์ธํด์ switch ๋ฌธ์ ์ค๊ดํธ๋ฅผ ๋น ์ ธ๋๊ฐ์ง ๋ชปํ๊ณ ,
ํค์ case์ ๋ค์ ๋ก์ง์ธ default์ ๋ก์ง๋ ๊ฐ์ด ์คํํ ๋ค ๋น ์ ธ๋์ค๋ ๊ฒ์ ์ ์ ์๋ค.
fruit์ ๊ฐ์ ์ฌ๊ณผ๋ก ๋ณ๊ฒฝํ๊ฒ ๋๋ฉด,
์ฌ๊ณผ case์ ๋ก์ง๋ถํฐ default์ ๋ก์ง์ ๋ค ์คํํ ๋ค switch๋ฌธ์ ๋์ค๊ฒ ๋๋ค.
์์ 3 (none default)
let fruit = '์ค์ง์ด';
switch (fruit) {
case '์ฌ๊ณผ':
console.log('์ฌ๊ณผ์
๋๋ค.');
// ์ด ์์ผ๋ฉด, ํด๋น case์ ๋ง๋ logic์ ์คํํ๊ณ ๋ค์์ผ๋ก ๋ ํ๋ฅธ๋ค.
case '๋ฐ๋๋':
console.log('๋ฐ๋๋์
๋๋ค.');
case 'ํค์':
console.log('ํค์์
๋๋ค.');
}
์์ 3 ์ถ๋ ฅ ๊ฐ
none
์์๋ธ ๊ฒ
furit๋ผ๋ ๋ณ์์ ๊ฐ์ด switch๋ฌธ์ ์ด๋ ํ case์๋ ์ถฉ์กฑ์ด ๋์ง ์๋ ๊ฐ์ด๋ผ๋ฉด,
์ถ๋ ฅ๊ฐ์ none์ ๋ด๊ฐ ์์๋ก ๋ฃ์ ๊ฐ์ด๊ณ , ์ค์ ๋ก๋ console.log์ ์๋ฌด๊ฒ๋ ์ถ๋ ฅ๋์ง ์๋๋ค.
๋๋ ์
์.. ๊ฐ๋์ break๋ฅผ ์์ค switch๋ฌธ์ ํตํด์ ํน์ ๊ธฐ์ค์ผ๋ก ์ก์๋ ๋ณ์์ ๊ฐ์ ๊ฐ์ง๊ณ , switch๋ฌธ์ผ๋ก ๋๋ ค์, ํน์ case์ ํด๋น๋๋ฉด ๊ทธ ๋ฐ์ ๋ก์ง์ ๋ค ์คํํ๋ ๊ทธ๋ฐ ๋ก์ง๋ ๊ตฌ์์ด ๊ฐ๋ฅํ ๊ฒ ๊ฐ๋ค๋ ์๊ฐ์ด ๋ ๋ค.
์๋กญ๊ฒ ์์๋ณธ switch ๋ฌธ์ด ์ฌ๋ฐ์๋ค.
switch๋ฌธ์ ๋ง์ง๋ง ๋ก์ง์ default์ ๋ก์ง์ด ์จ๋ค๋ฉด default์ ๋ก์ง์๋ break๊ฐ ์์ด๋ ๋๋ ๊ฒ ๊ฐ๋ค.