ํ‹ฐ์Šคํ† ๋ฆฌ ๋ทฐ

๋ฆฌ์•กํŠธ์—์„œ ๊ฐ„๊ฐ„์ด ์‚ฌ์šฉ๋˜๋Š” switch๋ฌธ.

๊ธฐ๋Šฅ์€ if๋ฌธ๊ณผ ๋น„์Šทํ•ด๋ณด์ด๋Š”๋ฐ ์ž์ฃผ ์จ๋ณธ์ ์ด ์—†์–ด์„œ ๋‘˜์˜ ์ฐจ์ด๊ฐ€ ๊ถ๊ธˆํ•ด์กŒ๋‹ค.

 

์•Œ๊ณ ์žˆ๋˜ ๋‚ด์šฉ

 

๐Ÿ“if๋ฌธ

ํ˜•ํƒœ :

if(์กฐ๊ฑด) {
๋กœ์ง1
} else {๋กœ์ง2
};

์„ค๋ช… : if๋ฌธ์˜ ์กฐ๊ฑด์ด ์ฐธ์ผ ๋•Œ ๋กœ์ง1์ด ์‹คํ–‰๋˜๊ณ  ๊ฑฐ์ง“์ผ ๋•Œ ๋กœ์ง2๊ฐ€ ์‹คํ–‰๋œ๋‹ค.

๋กœ์ง์—๋Š” ๋ณ€์ˆ˜ ์„ ์–ธ, ํ•จ์ˆ˜, ์‚ผํ•ญ์—ฐ์‚ฐ์ž ๋“ฑ ๋‹ค์–‘ํ•œ ๊ฐ’์ด ๋“ค์–ด๊ฐˆ ์ˆ˜ ์žˆ๋‹ค.

 

 

๐Ÿ“switch๋ฌธ

ํ˜•ํƒœ :

switch (์š”์†Œ) {
   case "a"
      return "a-1"
    break;
  case "b"
      return "b-1"
   default :
      return "c-1"
};

์„ค๋ช… : ์ธํ’‹์œผ๋กœ ๋“ค์–ด์˜จ ์š”์†Œ์˜ ๊ฐ’์ด a๋ผ๋ฉด a-1์„, b๋ผ๋ฉด b-1์„, ๊ทธ ๋ฌด์—‡๋„ ์•„๋‹ˆ๋ผ๋ฉด c-1์„(default์˜ ๊ฐ’) ๋ฐ˜ํ™˜ํ•œ๋‹ค.

break๋ฅผ ๋งŒ๋‚˜๋ฉด ๊ทธ ์ฆ‰์‹œ ๋กœ์ง์ด ์ข…๋ฃŒ๋˜๋ฉฐ ์ดํ›„ ๋กœ์ง์€ ์‹คํ–‰๋˜์ง€ ์•Š๋Š”๋‹ค. break๊ฐ€ ์—†์œผ๋ฉด ๋ชจ๋‘ ์‹คํ–‰๋œ๋‹ค.

case์™€ return์—๋Š” ๊ฐ™์€ ํƒ€์ž…์˜ ๊ฐ’๋งŒ ์˜ฌ ์ˆ˜ ์žˆ๋‹ค.

(? ์ •ํ™•ํ•˜์ง„ ์•Š์ง€๋งŒ ํ—ท๊ฐˆ๋ฆฌ๋Š” ๋ถ€๋ถ„)

 

 

 

์‹ค์ œ ๋‚ด์šฉ

 

๐Ÿ“switch๋ฌธ

const findName = (name: string) => {
	switch(name) {
      case "์ฒ ์ˆ˜":
        console.log("์ฒ ์ˆ˜๋Š” ๋š๋š์ด์ž…๋‹ˆ๋‹ค.")
        break;
      case "์˜ํฌ":
        console.log("์˜ํฌ๋Š” ๋˜‘๋˜‘์ด์ž…๋‹ˆ๋‹ค.")
        break;
      default:
        console.log("๋ชจ๋‘ ๋˜‘๋š์ด์ž…๋‹ˆ๋‹ค.")
    }
}

์œ„์˜ ์˜ˆ์ œ์—์„œ name์ด๋ผ๋Š” ๋งค๊ฐœ๋ณ€์ˆ˜๊ฐ€ ๋น„๊ตํ•  ๊ฐ’์ด ๋˜๋ฉฐ

'์ฒ ์ˆ˜', '์˜ํฌ'๊ฐ€ ์กฐ๊ฑด๊ฐ’ console.log๋Š” ๋™์ž‘ํ•˜๋Š” ๋ฌธ์žฅ์ด ๋œ๋‹ค.

+ case ์—๋Š” : ๋ฅผ ๊ผญ ๋ถ™์ด๊ธฐ

 

์ถœ๋ ฅ๊ฐ’ :

findName("์ฒ ์ˆ˜") // "์ฒ ์ˆ˜๋Š” ๋š๋š์ด์ž…๋‹ˆ๋‹ค."

 

๋งŒ์•ฝ break๋ฅผ ์“ฐ์ง€ ์•Š๋Š”๋‹ค๋ฉด ๋ชจ๋“  case๊ฐ€ ์‹คํ–‰์ด ๋œ๋‹ค.

findName("์ฒ ์ˆ˜")
// ์ฒ ์ˆ˜๋Š” ๋š๋š์ด์ž…๋‹ˆ๋‹ค. ์˜ํฌ๋Š” ๋˜‘๋˜‘์ด์ž…๋‹ˆ๋‹ค. ๋ชจ๋‘ ๋˜‘๋š์ด์ž…๋‹ˆ๋‹ค.

 

[ํŠน์ง•]

  • jump-table์„ ์‚ฌ์šฉํ•˜์—ฌ ํ•œ ๋ฒˆ์— ์›ํ•˜๋Š” ์กฐ๊ฑด์— ์ด๋™์ด ๊ฐ€๋Šฅ(๋‹จ ํ•œ ๋ฒˆ์˜ ํ‰๊ฐ€)
  • ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๊ฒฝ์šฐ๋ฅผ ๋™์‹œ์— ๊ฒ€์‚ฌํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ๊ฐ case ๋ฌธ์€ ์„œ๋กœ ์ค‘๋ณต๋˜์ง€ ์•Š์•„์•ผ ํ•จ.
  • ๊ฐ case ๋ฌธ์˜ ๋งˆ์ง€๋ง‰์—๋Š” break; ๋ฌธ์„ ์‚ฌ์šฉํ•˜์—ฌ ํ•ด๋‹น case ๋ฌธ์˜ ์‹คํ–‰์„ ์ค‘๋‹จ
  • default ๋ฌธ์€ ์„ ํƒ์‚ฌํ•ญ

[์žฅ์ ]

  • ๊ฐ€๋…์„ฑ
  • ๋น„๊ต์  ์ข์€ ๋ฒ”์œ„(ํŠน์ •ํ•œ ๊ฐ’)์—์„œ ์‚ฌ์šฉ
  • ์œ ์ง€๋ณด์ˆ˜ ์ธก๋ฉด์—์„œ ๊ด€๋ฆฌ ์œ ์šฉ (๊ฐ๊ฐ์˜ ๊ฒฝ์šฐ๋ฅผ ๋ช…ํ™•ํ•˜๊ฒŒ ์ •์˜)
  • ์ผ๋ฐ˜์ ์œผ๋กœ ์„ฑ๋Šฅ์ด ์ข‹์•„ ์‹คํ–‰ ์†๋„ ํ–ฅ์ƒ

[๋‹จ์ ]

  • ์ผ๋ฐ˜์ ์œผ๋กœ ๊ฐ’์˜ ๋™์ผ ์—ฌ๋ถ€๋ฅผ ๊ฒ€์‚ฌ
    ๋”ฐ๋ผ์„œ ๋ณต์žกํ•œ ์กฐ๊ฑด์„ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐ์— ๋ถ€์ ํ•ฉ
  • ๊ธธ์ด๊ฐ€ ๊ธธ์–ด์งˆ ๊ฒฝ์šฐ์— ๊ฐ€๋…์„ฑ์ด ๊ฐ์†Œ
  • ๋™์ผํ•œ ์ฝ”๋“œ์˜ ๋ฐ˜๋ณต

 

 

๐Ÿ“if๋ฌธ

์œ„์˜ ์˜ˆ์ œ๋ฅผ if๋ฌธ์œผ๋กœ ๋ฐ”๊พผ๋‹ค๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

const findName = (name: string) => {
	if(name === '์ฒ ์ˆ˜') console.log("์ฒ ์ˆ˜๋Š” ๋š๋š์ด์ž…๋‹ˆ๋‹ค.")
    else if(name === '์˜ํฌ') console.log("์˜ํฌ๋Š” ๋˜‘๋˜‘์ด์ž…๋‹ˆ๋‹ค.")
    else console.log("๋ชจ๋‘ ๋˜‘๋š์ด์ž…๋‹ˆ๋‹ค.")
}

 

[ํŠน์ง•]

  • ์›ํ•˜๋Š” ์กฐ๊ฑด์ด ๋‚˜์˜ฌ ๋•Œ๊นŒ์ง€ ์ˆœ์ฐจ์ ์œผ๋กœ ๋ชจ๋“  ๊ฒฝ์šฐ์˜ ์ˆ˜๋ฅผ ํ•˜๋‚˜์”ฉ ๋น„๊ต
  • ์ฐธ๊ณผ ๊ฑฐ์ง“์— ๋”ฐ๋ผ ์กฐ๊ฑด์„ ํŒ๋ณ„
  • ์ •ํ™•ํ•œ ์กฐ๊ฑด๊ณผ ๋ชจ๋“  ๊ฒฝ์šฐ๋ฅผ ๊ณ ๋ ค

[์žฅ์ ]

  • ํŠน์ • ์กฐ๊ฑด์— ๋”ฐ๋ผ ๋‹ค๋ฅด๊ฒŒ ๋™์ž‘ํ•  ์ˆ˜ ์žˆ์–ด ์œ ์—ฐํ•˜๊ณ  ๋‹ค์–‘ํ•œ ์ƒํ™ฉ์— ๋Œ€์‘ ๊ฐ€๋Šฅ
  • ํ”„๋กœ๊ทธ๋žจ์˜ ํ๋ฆ„ ์ œ์–ด
  • ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์กฐ๊ฑด์„ ๋™์‹œ์— ๊ฒ€์‚ฌ
  • ๋‹ค์–‘ํ•œ ์กฐ๊ฑด์„ ์ˆœ์ฐจ์ ์œผ๋กœ ๊ฒ€์‚ฌ
  • ๋ณต์žกํ•œ ์ƒํ™ฉ์— ๋Œ€์‘ ๊ฐ€๋Šฅ

[๋‹จ์ ]

  • ๊ฐ€๋…์„ฑ์ด ๋–จ์–ด์ง
  • ์œ ์ง€๋ณด์ˆ˜์— ๋น„๊ต์  ์–ด๋ ค์›€
  • ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•˜๊ธฐ ์‰ฌ์›€

 

๐Ÿ“switch๋ฌธ๊ณผ if๋ฌธ, ์–ธ์ œ ์‚ฌ์šฉํ•˜๋ฉด ์ข‹์„๊นŒ?

  • if๋ฌธ
    • ๊ฐœ๋ณ„์ ์ธ ์กฐ๊ฑด์„ ์ฒ˜๋ฆฌํ•ด์•ผ ํ•˜๊ฑฐ๋‚˜ ๋ฒ”์œ„๋ฅผ ๋น„๊ตํ•  ๋•Œ
    • ๋ณต์žกํ•œ ์กฐ๊ฑด์ด ํ•„์š”ํ•œ ๊ฒฝ์šฐ
    • ๋‹ค์–‘ํ•œ ์กฐ๊ฑด์„ ์กฐํ•ฉํ•˜์—ฌ ์ฒ˜๋ฆฌํ•ด์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ
  • switch๋ฌธ
    • ๊ฐ’์˜ ์ผ์น˜ ์—ฌ๋ถ€์— ๋”ฐ๋ผ ๋ถ„๊ธฐ ์ฒ˜๋ฆฌํ•  ๋•Œ
    • ์—ฌ๋Ÿฌ ๊ฒฝ์šฐ์˜ ์ˆ˜๋ฅผ ๋ช…ํ™•ํ•˜๊ฒŒ ์ฒ˜๋ฆฌํ•  ๋•Œ
    • ๊ฐ„๊ฒฐํ•˜๊ณ  ๋ช…ํ™•ํ•œ ๋ถ„๊ธฐ ์ฒ˜๋ฆฌ๊ฐ€ ํ•„์š”ํ•œ ๊ฒฝ์šฐ

์ฐธ๊ณ  : https://velog.io/@ahsy92/JaveScript-Switch-If

 

https://programmingdev.com/c-if%EB%AC%B8%EA%B3%BC-switch%EB%AC%B8%EC%9D%98-%EC%B0%A8%EC%9D%B4%EC%99%80-%EC%96%B8%EC%A0%9C-%EC%82%AC%EC%9A%A9%ED%95%B4%EC%95%BC%ED%95%98%EB%8A%94%EC%A7%80%EC%9E%A5%EC%A0%90-%EB%8B%A8%EC%A0%90/#i-7

 

 

 

๊ณต์ง€์‚ฌํ•ญ
์ตœ๊ทผ์— ์˜ฌ๋ผ์˜จ ๊ธ€
์ตœ๊ทผ์— ๋‹ฌ๋ฆฐ ๋Œ“๊ธ€
Total
Today
Yesterday
๋งํฌ
TAG
more
ยซ   2026/03   ยป
์ผ ์›” ํ™” ์ˆ˜ ๋ชฉ ๊ธˆ ํ† 
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
๊ธ€ ๋ณด๊ด€ํ•จ