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๋ฌธ์—์„œ ์ž๋ฃŒํ˜•์ด ์–ผ๋งˆ๋‚˜ ์ค‘์š”ํ•œ์ง€ ์‚ดํŽด๋ณด๋„๋ก ํ•ฉ์‹œ๋‹ค.

  1. 0์ด๋‚˜ 1์„ ์ž…๋ ฅํ•œ ๊ฒฝ์šฐ์—” ์ฒซ ๋ฒˆ์งธ alert๋ฌธ์ด ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค.

  2. 2๋ฅผ ์ž…๋ ฅํ•œ ๊ฒฝ์šฐ์—” ๋‘ ๋ฒˆ์งธ alert๋ฌธ์ด ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค.

  3. 3์„ ์ž…๋ ฅํ•˜์˜€๋”๋ผ๋„ ์„ธ ๋ฒˆ์งธ alert๋ฌธ์€ ์‹คํ–‰๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์•ž์„œ ๋ฐฐ์šด ๋ฐ”์™€ ๊ฐ™์ด prompt ํ•จ์ˆ˜๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ์ž…๋ ฅ ํ•„๋“œ์— ๊ธฐ์žฌํ•œ ๊ฐ’์„ ๋ฌธ์ž์—ด๋กœ ๋ณ€ํ™˜ํ•ด ๋ฐ˜ํ™˜ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ˆซ์ž 3์„ ์ž…๋ ฅํ•˜๋”๋ผ๋„ prompt ํ•จ์ˆ˜๋Š” ๋ฌธ์ž์—ด '3'์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ๋ฐ ์„ธ ๋ฒˆ์งธ case๋ฌธ์—์„  ์‚ฌ์šฉ์ž๊ฐ€ ์ž…๋ ฅํ•œ ๊ฐ’๊ณผ ์ˆซ์žํ˜• 3์„ ๋น„๊ตํ•˜๋ฏ€๋กœ, ํ˜• ์ž์ฒด๊ฐ€ ๋‹ค๋ฅด๊ธฐ ๋•Œ๋ฌธ์— case 3 ์•„๋ž˜์˜ ์ฝ”๋“œ๋Š” ์ ˆ๋Œ€ ์‹คํ–‰๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋Œ€์‹  default๋ฌธ์ด ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค.

์ถœ์ฒ˜ : Modern Javascript ํŠœํ† ๋ฆฌ์–ผarrow-up-right

Last updated