๐ŸŸจ JavaScript

[JavaScript] switch๋ฌธ์€ ์–ธ์ œ ์“ฐ๋ฉด ์ข‹์„๊นŒ?

10000COW 2022. 12. 20. 15:59
728x90

switch๋ฌธ

switch๋ฌธ์€ ์กฐ๊ฑด๋ฌธ ์ค‘ ํ•˜๋‚˜๋กœ, ์ •ํ•ด์ง„ ๋ฒ”์œ„ ์•ˆ์˜ ๊ฐ’์— ๋Œ€ํ•ด ํŠน์ •ํ•œ ์ผ์„ ํ•ด์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ ์‚ฌ์šฉํ•œ๋‹ค.

์ž์นซ if, else if, else๋กœ ๋ชจ๋“  ์กฐ๊ฑด์„ ๋‚˜์—ดํ•˜๋‹ค๋ณด๋ฉด ์ฝ”๋“œ๊ฐ€ ๋ณต์žกํ•˜๊ณ  ๊ธธ์–ด์ง€๋Š” ๊ฒฝ์šฐ๊ฐ€ ์žˆ๋Š”๋ฐ,

์ด๋Ÿด ๋•Œ switch๋ฌธ์„ ์‚ฌ์šฉํ•˜๋ฉด ์ข‹๋‹ค.

 


์˜ˆ์‹œ

์˜ˆ๋ฅผ ๋“ค์–ด, ๊ณ ๋“ฑํ•™๊ต 1ํ•™๋…„, 2ํ•™๋…„, 3ํ•™๋…„ ํ•™์ƒ๋“ค์ด ๋ฐฐ์šฐ๋Š” ๊ณผ๋ชฉ์ด ๊ฐ๊ฐ ๋‹ค๋ฅด๋‹ค๊ณ  ๊ฐ€์ •ํ•ด๋ณด์ž.

๋ช‡ ํ•™๋…„ ์ธ์ง€๋ฅผ class ๋ผ๋Š” ๋ณ€์ˆ˜๋กœ ์ง€์ •ํ•˜๊ณ ,

1ํ•™๋…„์€ ๊ตญ์–ด, 2ํ•™๋…„์€ ์˜์–ด, 3ํ•™๋…„์€ ์ˆ˜ํ•™์„ ๋ฐฐ์šด๋‹ค๊ณ  ์ƒ๊ฐํ•ด๋ณด์ž.

 

๋งŒ์•ฝ If-else ๋ฌธ์„ ์‚ฌ์šฉํ•œ๋‹ค๋ฉด

๋‹ค์Œ๊ณผ ๊ฐ™์ด if, else if๋ฅผ ๋ฐ˜๋ณต์ ์œผ๋กœ ์‚ฌ์šฉํ•ด์ค˜์•ผ ํ•˜๋Š” ๋ถˆํŽธํ•จ์ด ์žˆ๋‹ค.

let class = 3;
let subject;

if(class === 1){
	subject = '๊ตญ์–ด';
} else if(class === 2){
	subject = '์˜์–ด';
} else if(class === 3){
	subject = '์ˆ˜ํ•™';
}

 

ํ•˜์ง€๋งŒ switch ๋ฌธ์„ ์‚ฌ์šฉํ•˜๋ฉด,

let class = 3;
let subject;

switch(class){
	case 1:
    		subject = '๊ตญ์–ด';
        	break;
	case 2:
    		subject = '์˜์–ด';
        	break;
	case 3:
    		subject = '์ˆ˜ํ•™';
        	break;
}

์œ„์™€ ๊ฐ™์ด ์กฐ๊ธˆ ๋” ๊น”๋”ํ•˜๊ณ  ๊ฐ€๋…์„ฑ์žˆ๊ฒŒ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ๋Š” ์žฅ์ ์ด ์žˆ๋‹ค.

 

์ฃผ์˜ ์‚ฌํ•ญ

case๋ณ„๋กœ break์„ ์ž‘์„ฑํ•ด์ฃผ๋Š” ๊ฒƒ์„ ์žŠ์ง€ ๋ง์•„์•ผ ํ•œ๋‹ค.

break์„ ์ž‘์„ฑํ•˜์ง€ ์•Š์œผ๋ฉด, ์•„๋ž˜ case๋“ค๋กœ ๊ณ„์† ์ง„ํ–‰๋˜๊ธฐ ๋•Œ๋ฌธ์— ์›ํ•˜์ง€ ์•Š๋Š” ๊ฐ’์ด ์ถœ๋ ฅ๋  ์ˆ˜ ์žˆ๋‹ค.

 


์ถ”๊ฐ€๋กœ ์งš๊ณ ๊ฐ€๊ธฐ

๐Ÿ–ฅ๏ธ default ์‚ฌ์šฉํ•˜๊ธฐ

๋งŒ์•ฝ case ๋ณ„๋กœ ์ฃผ์–ด์ง„ ํ‘œํ˜„์‹์„ ๋น„๊ตํ–ˆ์ง€๋งŒ, ๋งž๋Š” case๋ฅผ ์ฐพ์ง€ ๋ชปํ•œ ๊ฒฝ์šฐ๊ฐ€ ์žˆ์„ ์ˆ˜ ์žˆ๋‹ค.

์ด๋Ÿฐ ๊ฒฝ์šฐ๋ฅผ ์œ„ํ•ด  ์•„๋ž˜ ์ฝ”๋“œ์™€ ๊ฐ™์ด default๋ฅผ ์ž‘์„ฑํ•ด์ค„ ์ˆ˜ ์žˆ๋‹ค.

 

๐Ÿ–ฅ๏ธ ๋งŒ์•ฝ ๋‘ ๊ฐœ ์ด์ƒ์˜ case์— ๋Œ€ํ•ด ๋™์ผํ•œ ๋™์ž‘์„ ์ˆ˜ํ–‰ํ•ด์•ผ ํ•œ๋‹ค๋ฉด?

๋งŒ์•ฝ 0ํ•™๋…„์ด ์กด์žฌํ•œ๋‹ค๋ฉด(์ž…ํ•™ ์ „ ์‹ ์ž…์ƒ๋“ค์ด๋ผ๊ณ  ์ƒ๊ฐํ•˜์ž)

0ํ•™๋…„๊ณผ 1ํ•™๋…„์ธ ๊ฒฝ์šฐ ๊ตญ์–ด ๊ณผ๋ชฉ์„ ๋ฐฐ์›Œ์•ผ ํ•œ๋‹ค๋ฉด

์•„๋ž˜์™€ ๊ฐ™์ด ๋™์ผํ•œ ๋™์ž‘์„ ์ˆ˜ํ–‰ํ•  case๋ฅผ ์—ฐ์†์œผ๋กœ ์ž…๋ ฅํ•˜๊ณ , ์ˆ˜ํ–‰ํ•  ๋™์ž‘์„ ์ž‘์„ฑํ•ด์ฃผ๋ฉด ๋œ๋‹ค.

let class = 3;
let subject;

switch(class){
	case 0:
	case 1:
    		subject = '๊ตญ์–ด';
        	break;
	case 2:
    		subject = '์˜์–ด';
        	break;
	case 3:
    		subject = '์ˆ˜ํ•™';
        	break;
    default:
    		console.log('ํ•™๋…„์„ ์ž˜๋ชป ์ž…๋ ฅํ–ˆ์Šต๋‹ˆ๋‹ค.');
}
728x90