์ค์์น ๋ฌธ(switch statement)์ ํํ์(expression)์ ๊ฐ์ ์ฌ๋ก ์ (case clause)๊ณผ ์ผ์น์์ผ(===)
ํํ์์ ํ๊ฐํ๊ณ , ํด๋น ์ฌ๋ก์ ๊ด๋ จ๋ ๋ฌธ(statement)๋ฟ๋ง ์๋๋ผ ์ผ์นํ๋ ์ฌ๋ก(case) ๋ค์ ์ค๋ ์ฌ๋ก์ ๋ฌธ(statements)๋ ์คํํ๋ค.
์ค์์น ๋ฌธ์ if
, if else
๋ก ์ด์ด์ง๋ ๋ณต์์ if ๋ฌธ์ ๋์นํ ์ ์๋ค. ์๊ฐ์ ์ผ๋ก๋ ์ด๋ค ์กฐ๊ฑด/์ฌ๋ก๋ค์ด ์๋์ง ๋ ์ ๋ณด์ธ๋ค. ๐
switch (expression) { case value1: //Statements executed when the //result of expression matches value1 [break;] case value2: //Statements executed when the //result of expression matches value2 [break;] ... case valueN: //Statements executed when the //result of expression matches valueN [break;] [default: //Statements executed when none of //the values match the value of the expression [break;]] }
ํํ์(expression)์ ๊ฐ์ ์ฌ๋ก ์ (case clause)๊ณผ ์ผ์น์์ผ ํํ์์ ํ๊ฐํ๋ค.
์ฌ๋ก(case)์ ์ง์ ํ ๊ฐ(valueN)๊ณผ ํํ์(expression)์ด ์ผ์นํ ๊ฒฝ์ฐ, ์ฆ (expression === valueN)
์ธ ๊ฒฝ์ฐ, case์ ์ ๋ด๋ถ ๊ตฌ๋ฌธ์ด ์คํ๋๋ค.
case์ valueN์ ์์ฑํ ๋๋ Data Type์ ์ฃผ์ํ์!
case์ ์ ๋ด๋ถ๊ตฌ๋ฌธ์ break;
๊ฐ ๋์ฌ๋ ๊น์ง ์คํ๋๋ค. break;
๋ฅผ ๋ฐ๋ก ์์ฑํ์ง ์์ผ๋ฉด ๊ธฐ์ค์ด ์ถฉ์กฑ๋ ์ฌ๋ก๊ฐ ๋์๋ ๋๊น์ง ์คํํ๋ค. ์ฆ, ๊ธฐ์ค ์ถฉ์กฑ ์ฌ๋ถ์ ๊ด๊ณ์์ด ๋ค์ ์๋ ๋ชจ๋ ์ฌ๋ก, ์ค์์น ๊ตฌ๋ฌธ์ ๋๊น์ง ์คํ๋๊ธฐ ๋๋ฌธ์ ์ฃผ์ํ์!
default ์ ์ ์์ฑํด ๋๋ฉด expression ๊ฐ๊ณผ ์ผ์นํ๋ case๊ฐ ์์ ๋ default ์ ์ด ์คํ๋๋ค.
default ์ ์ ์์ฑํ๋ ์์น๋ ๋ฐ๋ก ์ ํด์ ธ ์์ง ์๋ค. ์ ์ผ ์ฒซ ๋ถ๋ถ์ ์์ฑํด๋ ๋๊ณ , case์ ๊ณผ case์ ์ฌ์ด์ ์์ฑํด๋ ๋๊ณ , ๋ง์ง๋ง ๋ถ๋ถ์ ์์ฑํด๋ ๋๋ค.
let bts = 7; switch (bts) { case 13: console.log("BTS has 13 members.") break; case 7: console.log("BTS has 7 members.") break; case 5: console.log("BTS has 5 members.") break; }
๊ฒฐ๊ณผ
(bts === 7)
์ด๊ธฐ ๋๋ฌธ์ ์ฝ์์ "BTS has 7 members."
๋ผ๊ณ ์ถ๋ ฅ๋๋ค.