switch๋ฌธ
๋ณต์์ if ์กฐ๊ฑด๋ฌธ์ switch๋ฌธ์ผ๋ก ๋ฐ๊ฟ ์ ์์ต๋๋ค.
switch๋ฌธ์ ์ฌ์ฉํ ๋น๊ต๋ฒ์ ํน์ ๋ณ์๋ฅผ ๋ค์ํ ์ํฉ์์ ๋น๊ตํ ์ ์๊ฒ ํด์ค๋๋ค. ์ฝ๋ ์์ฒด๊ฐ ๋น๊ต ์ํฉ์ ์ ์ค๋ช
ํ๋ค๋ ์ฅ์ ๋ ์์ต๋๋ค.
switch๋ฌธ์ ํ๋ ์ด์์ case๋ฌธ์ผ๋ก ๊ตฌ์ฑ๋ฉ๋๋ค. ๋๊ฐ default๋ฌธ๋ ์์ง๋ง, ์ด๋ ํ์๋ ์๋๋๋ค.
์์:
switch(x) {
case 'value1': // if (x === 'value1')
...
[break]
case 'value2': // if (x === 'value2')
...
[break]
default:
...
[break]
}๋ณ์
x์ ๊ฐ๊ณผ ์ฒซ ๋ฒ์งธcase๋ฌธ์ ๊ฐ'value1'๋ฅผ ์ผ์น ๋น๊ตํ ํ, ๋ ๋ฒ์งธcase๋ฌธ์ ๊ฐ'value2'์ ๋น๊ตํฉ๋๋ค. ์ด๋ฐ ๊ณผ์ ์ ๊ณ์ ์ด์ด์ง๋๋ค.case๋ฌธ์์ ๋ณ์x์ ๊ฐ๊ณผ ์ผ์นํ๋ ๊ฐ์ ์ฐพ์ผ๋ฉด ํด๋นcase๋ฌธ์ ์๋์ ์ฝ๋๊ฐ ์คํ๋ฉ๋๋ค. ์ด๋,break๋ฌธ์ ๋ง๋๊ฑฐ๋switch๋ฌธ์ด ๋๋๋ฉด ์ฝ๋์ ์คํ์ ๋ฉ์ถฅ๋๋ค.๊ฐ๊ณผ ์ผ์นํ๋
case๋ฌธ์ด ์๋ค๋ฉด,default๋ฌธ ์๋์ ์ฝ๋๊ฐ ์คํ๋ฉ๋๋ค(default๋ฌธ์ด ์๋ ๊ฒฝ์ฐ).
์ค์ ์คํ ๊ฐ๋ฅํ switch๋ฌธ ์์๋ฅผ ์ดํด๋ด
์๋ค. ์๋ ์์์์ ๊ฐ์กฐ๋ ์ฝ๋๊ฐ ์คํ๋ฉ๋๋ค.
switch๋ฌธ์ a์ ๊ฐ์ธ 4์ ์ฒซ ๋ฒ์งธ case๋ฌธ์ ๊ฐ์ธ 3์ ๋น๊ตํฉ๋๋ค. ๋ ๊ฐ์ ๊ฐ์ง ์๊ธฐ ๋๋ฌธ์ ๋ค์ case๋ฌธ์ผ๋ก ๋์ด๊ฐ๋๋ค.
a์ ๊ทธ๋ค์ case๋ฌธ์ ๊ฐ์ธ 4๋ ์ผ์นํฉ๋๋ค. ๋ฐ๋ผ์ break๋ฌธ์ ๋ง๋ ๋๊น์ง case 4 ์๋์ ์ฝ๋๊ฐ ์คํ๋ฉ๋๋ค.
case๋ฌธ ์์ break๋ฌธ์ด ์์ผ๋ฉด ์กฐ๊ฑด์ ๋ถํฉํ๋์ง ์ฌ๋ถ๋ฅผ ๋ฐ์ง์ง ์๊ณ ์ด์ด์ง๋ case๋ฌธ์ ์คํํฉ๋๋ค.
break๋ฌธ์ด ์๋ ๊ฒฝ์ฐ ์ด๋ค ์ผ์ด ์ผ์ด๋๋์ง ์์๋ฅผ ํตํด ์ดํด๋ด
์๋ค.
์ ์์๋ฅผ ์คํํ๋ฉด ์๋ 3๊ฐ์ alert๋ฌธ์ด ์คํ๋ฉ๋๋ค.
switch/case๋ฌธ์ ์ธ์์ ์ด๋ค ํํ์์ด๋ ์ฌ ์ ์์ต๋๋ค.
switch๋ฌธ๊ณผ case๋ฌธ์ ๋ชจ๋ ํํ์ ํํ์์ ์ธ์๋ก ๋ฐ์ต๋๋ค.
์์:
ํํ์ +a๋ฅผ ํ๊ฐํ๋ฉด 1์ด ๋ฉ๋๋ค. ์ด ๊ฐ์ ์ฒซ ๋ฒ์งธ case๋ฌธ์ ํํ์ b + 1์ ํ๊ฐํ ๊ฐ(1)๊ณผ ์ผ์นํ์ฃ . ๋ฐ๋ผ์ ์ฒซ ๋ฒ์งธ case๋ฌธ ์๋์ ์ฝ๋๊ฐ ์คํ๋ฉ๋๋ค.
์ฝ๋๊ฐ ๊ฐ์ case๋ฌธ์ ํ๋ฐ ๋ฌถ์ ์ ์์ต๋๋ค.
case 3๊ณผ case 5์์ ์คํํ๋ ค๋ ์ฝ๋๊ฐ ๊ฐ์ ๊ฒฝ์ฐ์ ๋ํ ์์๋ฅผ ์ดํด๋ด
์๋ค.
case 3๊ณผ case 5๋ ๋์ผํ ๋ฉ์์ง๋ฅผ ๋ณด์ฌ์ค๋๋ค.
switch/case๋ฌธ์์ break๋ฌธ์ด ์๋ ๊ฒฝ์ฐ์ ์กฐ๊ฑด์ ์๊ด์์ด ๋ค์ case๋ฌธ์ด ์คํ๋๋ ๋ถ์์ฉ์ด ๋ฐ์ํฉ๋๋ค. ์ ์์์์ case 3์ด ์ฐธ์ธ ๊ฒฝ์ฐ์ (*)๋ก ํ์ํ ์ค ์๋์ ์ฝ๋๊ฐ ์คํ๋๋๋ฐ, ๊ทธ ์๋ ์ค์ case 5๊ฐ ์๊ณ break๋ฌธ๋ ์๊ธฐ ๋๋ฌธ์ 12๋ฒ์งธ ์ค์ break๋ฌธ์ ๋ง๋ ๋๊น์ง ์ฝ๋๋ ๊ณ์ ์คํ๋ฉ๋๋ค.
switch๋ฌธ์ ์ผ์น ๋น๊ต๋ก ์กฐ๊ฑด์ ํ์ธํฉ๋๋ค. ๋น๊ตํ๋ ค๋ ๊ฐ๊ณผ case๋ฌธ์ ๊ฐ์ ํ๊ณผ ๊ฐ์ด ๊ฐ์์ผ ํด๋น case๋ฌธ์ด ์คํ๋ฉ๋๋ค.
์์๋ฅผ ํตํด switch๋ฌธ์์ ์๋ฃํ์ด ์ผ๋ง๋ ์ค์ํ์ง ์ดํด๋ณด๋๋ก ํฉ์๋ค.
0์ด๋1์ ์ ๋ ฅํ ๊ฒฝ์ฐ์ ์ฒซ ๋ฒ์งธalert๋ฌธ์ด ์คํ๋ฉ๋๋ค.2๋ฅผ ์ ๋ ฅํ ๊ฒฝ์ฐ์ ๋ ๋ฒ์งธalert๋ฌธ์ด ์คํ๋ฉ๋๋ค.3์ ์ ๋ ฅํ์๋๋ผ๋ ์ธ ๋ฒ์งธalert๋ฌธ์ ์คํ๋์ง ์์ต๋๋ค. ์์ ๋ฐฐ์ด ๋ฐ์ ๊ฐ์ดpromptํจ์๋ ์ฌ์ฉ์๊ฐ ์ ๋ ฅ ํ๋์ ๊ธฐ์ฌํ ๊ฐ์ ๋ฌธ์์ด๋ก ๋ณํํด ๋ฐํํ๊ธฐ ๋๋ฌธ์ ์ซ์3์ ์ ๋ ฅํ๋๋ผ๋promptํจ์๋ ๋ฌธ์์ด'3'์ ๋ฐํํฉ๋๋ค. ๊ทธ๋ฐ๋ฐ ์ธ ๋ฒ์งธcase๋ฌธ์์ ์ฌ์ฉ์๊ฐ ์ ๋ ฅํ ๊ฐ๊ณผ ์ซ์ํ 3์ ๋น๊ตํ๋ฏ๋ก, ํ ์์ฒด๊ฐ ๋ค๋ฅด๊ธฐ ๋๋ฌธ์case 3์๋์ ์ฝ๋๋ ์ ๋ ์คํ๋์ง ์์ต๋๋ค. ๋์default๋ฌธ์ด ์คํ๋ฉ๋๋ค.
์ถ์ฒ : Modern Javascript ํํ ๋ฆฌ์ผ
Last updated