Front-End/JavaScript

[JavaScript] 06. ๋ธ”๋ก๋ฌธ & ์กฐ๊ฑด๋ฌธ

Bigone17 2022. 1. 25. 11:14

๐ŸŸก 1. ๋ธ”๋ก๋ฌธ(Block statemet/Compound statement)

 - ๋ธ”๋ก๋ฌธ์€ 0๊ฐœ ์ด์ƒ์˜ ๋ฌธ๋“ค์„ ์ค‘๊ด„ํ˜ธ๋กœ ๋ฌถ์€ ๊ฒƒ์œผ๋กœ ์ฝ”๋“œ ๋ธ”๋ก ๋˜๋Š” ๋ธ”๋ก์ด๋ผ๊ณ  ๋ถ€๋ฆ…๋‹ˆ๋‹ค. ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์—์„œ๋Š” ๋ธ”๋ก๋ฌธ์„ ํ•˜๋‚˜์˜ ๋‹จ์œ„๋กœ ์ทจ๊ธ‰ํ•ฉ๋‹ˆ๋‹ค. ๋ธ”๋ก๋ฌธ์€ ๋‹ค๋ฅธ ๋ฌธ๋“ค๊ณผ๋Š” ๋‹ค๋ฅด๊ฒŒ ๋์— ์„ธ๋ฏธ ์ฝœ๋ก (;)์„ ๋ถ™์ด์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

// ๋ธ”๋ก๋ฌธ 
{
	let name = 'apple';
	console.log(name);
}

// ๋ธ”๋ก๋ฌธ ๊ฒธ ๋ฐ˜๋ณต๋ฌธ
for(let i = 0; i < 10; i++){
	console.log(i);
}

// ๋ธ”๋ก๋ฌธ ๊ฒธ ํ•จ์ˆ˜
let func = function(a, b){
	return a * b;
}

 

 

 

๐ŸŸก 2. ์กฐ๊ฑด๋ฌธ(conditional statement)

- ์กฐ๊ฑด๋ฌธ์€ ๋ฌธ ์•ž์— ์–ด๋– ํ•œ ์กฐ๊ฑด์„ ๊ฑธ์–ด ๋‘๊ณ  ๊ทธ ์กฐ๊ฑด์— ๋ถ€ํ•ฉํ•œ ๊ฒฝ์šฐ์— ๋ฌธ์— ๋“ค์–ด๊ฐˆ ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.
  ์˜ˆ๋ฅผ ๋“ค์–ด ๋กค๋Ÿฌ์ฝ”์Šคํ„ฐ๋ฅผ ํƒ€๋ ค๋ฉด ํ‚ค๊ฐ€ 110cm ์ด์ƒ์ด ๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿผ ์—ฌ๊ธฐ์„œ ํ‚ค๊ฐ€ 110cm ์ด์ƒ์ด ์กฐ๊ฑด์— ํ•ด๋‹นํ•˜๊ณ , ๊ทธ ์กฐ๊ฑด์— ๋ถ€ํ•ฉ์„ ํ•˜๋ฉด ๋กค๋Ÿฌ์ฝ”์Šคํ„ฐ๋ฅผ ํƒˆ ์ˆ˜ ์žˆ๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

- ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์—์„œ ์กฐ๊ฑด๋ฌธ์€ 2๊ฐ€์ง€๊ฐ€ ์žˆ๋Š”๋ฐ if๋ฌธ๊ณผ  switch๋ฌธ์ž…๋‹ˆ๋‹ค.

 

 ๐ŸŸฃ 2.1 if๋ฌธ

 - if๋ฌธ์€ ์ฃผ์–ด์ง„ ์กฐ๊ฑด์‹์— ๋ถ€ํ•ฉํ•˜๋ฉด ๋ฌธ ์•ˆ์— ๋“ค์–ด๊ฐ€ ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•˜๊ณ  ๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด ๊ทธ ๋ฌธ ์•ˆ์— ์ฝ”๋“œ๋Š” ์‹คํ–‰๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋งŒ์•ฝ ์กฐ๊ฑด์‹์˜ ๊ฒฐ๊ณผ๊ฐ€ boolean ๊ฐ’์ด ์•„๋‹ˆ๋ผ๋ฉด ๊ฐ•์ œ ๋ณ€ํ™˜๋˜์–ด true ํ˜น์€ false๋กœ ๋ฐ˜ํ™˜๋ฉ๋‹ˆ๋‹ค.

// if else๋ฌธ
if(์กฐ๊ฑด์‹){
	// ์กฐ๊ฑด์‹์ด true์ด๋ฉด ์ด ๋ธ”๋ก์ด ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค.
}else{
	// ์œ„ ์กฐ๊ฑด์‹์ด false๋ผ๋ฉด ์ด ๋ธ”๋ก์ด ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค.
}


// if else๋ฌธ ์˜ˆ์ œ1

let height = 180;

if(height > 110){
	console.log('๋กค๋Ÿฌ์ฝ”์Šคํ„ฐ ํƒ‘์Šน!');
}else{
	console.log('๋กค๋Ÿฌ์ฝ”์Šคํ„ฐ ๋ชปํƒ€ใ…ใ…ใ…ใ…ใ…ใ… ใ… ใ… ใ… ');
}
// '๋กค๋Ÿฌ์ฝ”์Šคํ„ฐ ํƒ‘์Šน!'



// if else๋ฌธ ์˜ˆ์ œ2

let height = 100;

if(height > 110){
	console.log('๋กค๋Ÿฌ์ฝ”์Šคํ„ฐ ํƒ‘์Šน!');
}else{
	console.log('๋กค๋Ÿฌ์ฝ”์Šคํ„ฐ ๋ชปํƒ€ใ…ใ…ใ…ใ…ใ…ใ… ใ… ใ… ใ… ');
}
// '๋กค๋Ÿฌ์ฝ”์Šคํ„ฐ ๋ชปํƒ€ใ…ใ…ใ…ใ…ใ…ใ… ใ… ใ… ใ… '

   - if ์•ˆ์— ์กฐ๊ฑด์‹์— ๋ถ€ํ•ฉํ•˜์ง€ ์•Š๋Š” ๋ชจ๋“  ๊ฐ’๋“ค์€ else๋ฌธ์„ ์‹คํ–‰ํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

 

// ์กฐ๊ฑด์‹์ด ์—ฌ๋Ÿฌ๊ฐœ ์žˆ๋Š” ๊ฒฝ์šฐ
// if .. else if .. else

if (์กฐ๊ฑด์‹1){
	// ์กฐ๊ฑด์‹1์ด true์ด๋ฉด ์ด ๋ธ”๋ก ์‹คํ–‰
}else if (์กฐ๊ฑด์‹2){
	// ์กฐ๊ฑด์‹1์ด false์ด๊ณ  ์กฐ๊ฑด์‹2๊ฐ€ trued์ด๋ฉด ์ด ๋ธ”๋ก ์‹คํ–‰
}else {
	// ์กฐ๊ฑด์‹1, ์กฐ๊ฑด์‹2๊ฐ€ false์ด๋ฉด ์ด ๋ธ”๋ก ์‹คํ–‰
}



// if .. else if .. else ์˜ˆ์ œ1

let score = 98;

if (score > 90){
	console.log("you're A!");
}else if (score > 80 && score <= 90){
	console.log("you're B!");
}else {
	console.log("you're C!");
}
// "you're A!"



// if .. else if .. else ์˜ˆ์ œ2

let score = 88;

if (score > 90){
	console.log("you're A!");
}else if (score > 80 && score <= 90){
	console.log("you're B!");
}else {
	console.log("you're C!");
}
// "you're B!"

 - ์กฐ๊ฑด์‹์„ ์—ฌ๋Ÿฌ ๊ฐœ ๋งŒ๋“ค๊ณ  ์‹ถ์€ ๊ฒฝ์šฐ์—๋Š” else if๋ฅผ ์ด์šฉํ•ด์„œ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์กฐ๊ฑด์‹์„ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. else if๋Š” ์—ฌ๋Ÿฌ ๊ฐœ ์ถ”๊ฐ€ ๊ฐ€๋Šฅํ•˜์ง€๋งŒ if, else๋Š” ๋ฌด์กฐ๊ฑด ํ•œ ๊ฐœ(else๋Š” 0๊ฐœ๋„ ๊ฐ€๋Šฅ)๋งŒ ์กด์žฌํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

 

// ์กฐ๊ฑด์‹์—์„œ ๋ฐ˜ํ™˜๋œ ๊ฐ’์ด boolean์ด ์•„๋‹Œ ๊ฒฝ์šฐ ๊ฐ•์ œ ๋ณ€ํ™˜์„ ํ†ตํ•ด์„œ booleanํƒ€์ž…์œผ๋กœ ๋ณ€๊ฒฝ
let num = 4;

// 4 % 2๋ฅผํ•˜๋ฉด 0์ด ๋‚˜์˜ค๋Š”๋ฐ, 0์„ booleanํƒ€์ž…์œผ๋กœ ๊ฐ•์ œ ๋ณ€ํ™˜ํ•˜๋ฉด false๊ฐ€ ๋œ๋‹ค.
if(num % 2){
	console.log("ํ™€์ˆ˜");
}else {
	console.log("์ง์ˆ˜");
}
// ์ง์ˆ˜

 

 

 

๐ŸŸก 3.  switch ๋ฌธ

 - switch๋ฌธ์€ switch ๋ฌธ์˜ ํ‘œํ˜„์‹์—์„œ ๋ฐ˜ํ™˜๋œ ๊ฐ’์— ๋งž๋Š” case๋ฌธ์œผ๋กœ ์ด๋™ํ•ด์„œ ์‹คํ–‰์‹œํ‚ต๋‹ˆ๋‹ค. ๋งŒ์•ฝ ๋งž๋Š” case๋ฌธ์ด ์—†๋‹ค๋ฉด default๋ฌธ์œผ๋กœ ์ด๋™ํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

switch (ํ‘œํ˜„์‹) {
	case ํ‘œํ˜„์‹1:
    	switch ๋ฌธ์˜ ํ‘œํ˜„์‹๊ณผ ํ‘œํ˜„์‹1์ด ์ผ์น˜ํ•˜๋ฉด ์‹คํ–‰๋จ.
        break;
    case ํ‘œํ˜„์‹2:
    	switch ๋ฌธ์˜ ํ‘œํ˜„์‹๊ณผ ํ‘œํ˜„์‹2๊ฐ€ ์ผ์น˜ํ•˜๋ฉด ์‹คํ–‰๋จ.
        break;
    default:
    	switch ๋ฌธ์˜ ํ‘œํ˜„์‹๊ณผ ์ผ์น˜ํ•˜๋Š” case๊ฐ€ ์—†์„ ๊ฒฝ์šฐ ์‹คํ–‰๋จ.
}


// ์˜ˆ์ œ
let animal = 'Dog';

switch (animal) {
	case 'Dog':
    	console.log('๋Œ•๋Œ•์ด์ž…๋‹ˆ๋‹ค.');
        break;
    case 'Cat':
    	console.log('๊ณ ์˜ํฌ์ž…๋‹ˆ๋‹ค.');
        break;
    default:
    	console.log('๋‚˜๋งŒ ๋Œ•๋Œ•์ด, ๊ณ ์˜ํฌ ์—†์–ด.');
}

// '๋Œ•๋Œ•์ด์ž…๋‹ˆ๋‹ค.'


// ์˜ˆ์ œ2 break๋ฅผ ์“ฐ์ง€ ์•Š์€ ๊ฒฝ์šฐ
let animal = 'Dog';

switch (animal) {
	case 'Dog':
    	console.log('๋Œ•๋Œ•์ด์ž…๋‹ˆ๋‹ค.');
    case 'Cat':
    	console.log('๊ณ ์˜ํฌ์ž…๋‹ˆ๋‹ค.');
    default:
    	console.log('๋‚˜๋งŒ ๋Œ•๋Œ•์ด, ๊ณ ์˜ํฌ ์—†์–ด.');
}
// '๋Œ•๋Œ•์ด์ž…๋‹ˆ๋‹ค.'
// '๊ณ ์˜ํฌ์ž…๋‹ˆ๋‹ค.'
// '๋‚˜๋งŒ ๋Œ•๋Œ•์ด, ๊ณ ์˜ํฌ ์—†์–ด.'

 - switch ๋ฌธ์€ if๋ฌธ๊ณผ๋Š” ๋‹ค๋ฅด๊ฒŒ ์กฐ๊ฑด์— ๋งž๋Š” case๋ฌธ๋ถ€ํ„ฐ ์ˆœ์„œ๋Œ€๋กœ ์‹คํ–‰์ด ๋˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ break ๋ฌธ์„ ์‚ฌ์šฉํ•˜์—ฌ ๋‹ค๋ฅธ case๋“ค์„ ์‹คํ–‰์‹œํ‚ค์ง€ ์•Š๊ฒŒ ๋ง‰๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. 

 

let name = 'Rose';

switch(name) {
	case 'Dog': case 'Cat': case 'Bird':
    	console.log('๋™๋ฌผ์ž…๋‹ˆ๋‹ค.');
        break;
    case 'Tree': case 'Rose': case 'Sunflower':
    	console.log('์‹๋ฌผ์ž…๋‹ˆ๋‹ค.');
        break;
    default:
    	console.log('๋™๋ฌผ๊ณผ ์‹๋ฌผ์ด ์•„๋‹™๋‹ˆ๋‹ค.');
}

// '์‹๋ฌผ์ž…๋‹ˆ๋‹ค.'

- ์œ„ ์˜ˆ์‹œ์™€ ๊ฐ™์ด ์—ฌ๋Ÿฌ ๊ฐœ์˜ case๋ฅผ ํ•˜๋‚˜์˜ ๋ฌธ์œผ๋กœ ์ž‘์„ฑํ•  ์ˆ˜ ๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

 

 

 

๐Ÿ“ ์ •๋ฆฌ 

  • ๋ธ”๋ก๋ฌธ์€ ์ฝ”๋“œ๋ฅผ ์ค‘๊ด„ํ˜ธ๋กœ ๋ฌถ์€ ๊ฒƒ์„ ์–˜๊ธฐํ•˜๋ฉฐ, ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์—์„œ๋Š” ๋ธ”๋ก๋ฌธ์„ ํ•˜๋‚˜์˜ ๋‹จ์œ„๋กœ ๋ณธ๋‹ค.
  • ์กฐ๊ฑด๋ฌธ์—๋Š” if๋ฌธ๊ณผ switch๋ฌธ์ด ์žˆ๋‹ค.
  • if๋ฌธ์€ ์กฐ๊ฑด์‹์ด true์ด๋ฉด if๋ฌธ ์•ˆ์— ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•œ๋‹ค. ์กฐ๊ฑด์‹์„ ์—ฌ๋Ÿฌ ๊ฐœ ์ถ”๊ฐ€ํ•˜๊ณ  ์‹ถ์œผ๋ฉด else if๋ฅผ ์“ด๋‹ค. 
  • if, else if์˜ ์กฐ๊ฑด์ด ๋ถ€ํ•ฉํ•˜์ง€๋Š” ์•Š์€ ๊ฒฝ์šฐ์—๋„ ์–ด๋– ํ•œ ์ฝ”๋“œ๋ฅผ ์‹คํ–‰์‹œํ‚ค๊ณ  ์‹ถ๋‹ค๋ฉด else๋ฅผ ์“ด๋‹ค.
  • switch๋ฌธ์€ switch๋ฌธ ์•ˆ์— ์กฐ๊ฑด์‹์—์„œ ๋ฐ˜ํ™˜๋œ ๊ฐ’์— ๋งž๋Š” case๋ฅผ ์ฐพ์•„๊ฐ€ ์ˆœ์„œ๋Œ€๋กœ ์‹คํ–‰์‹œํ‚จ๋‹ค.
  • ๋งŒ์•ฝ ์ˆœ์„œ๋Œ€๋กœ ์‹คํ–‰์„ ์‹œํ‚ค๋Š” ๊ฒŒ ์•„๋‹ˆ๊ณ  ํ•ด๋‹น case๋งŒ ์‹คํ–‰์‹œํ‚ค๊ณ  ์‹ถ๋‹ค๋ฉด break๋ฌธ์„ ์‚ฌ์šฉํ•œ๋‹ค.
  • if๋ฌธ๊ณผ switch๋ฌธ์˜ ์ฐจ์ด๋Š” if๋ฌธ์€ ์กฐ๊ฑด์‹์ด ํ•ด๋‹นํ•˜๋Š” ์ฝ”๋“œ๋งŒ ์‹คํ–‰์‹œํ‚ค๊ณ  switch๋ฌธ์€ ํ•ด๋‹นํ•˜๋Š” case๋ถ€ํ„ฐ ์ˆœ์ฐจ ์‹คํ–‰ํ•œ๋‹ค.
  • switch๋ฌธ๋ณด๋‹ค๋Š” if๋ฌธ์ด ์ฝ”๋“œ์˜ ๊ฐ„๊ฒฐ์„ฑ, ์‚ฌ์šฉ๋ฒ•์ด ๊ฐ„๋‹จํ•˜๋ฏ€๋กœ if๋ฌธ์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์„ ์ถ”์ฒœํ•œ๋‹ค.

 

 

๊ธด ๊ธ€ ์ฝ์–ด์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค :) 
ํ‹€๋ฆฐ ๋‚ด์šฉ์ด ์žˆ๊ฑฐ๋‚˜, ๋ง๋ถ™์ผ ๋‚ด์šฉ์ด ์žˆ๋‹ค๋ฉด ์–ธ์ œ๋“ ์ง€ ๋Œ“๊ธ€ ๋‹ฌ์•„์ฃผ์„ธ์š”!
์ œ ๊ธ€์ด ์กฐ๊ธˆ์ด๋‚˜๋งˆ ์ฝ์œผ์‹  ๋ถ„๋“ค์—๊ฒŒ ๋„์›€์ด ๋˜๋„๋ก ๋…ธ๋ ฅํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค
๋‹ค์Œ ํŽธ์— ๋ดฌ์š”~

728x90
๋ฐ˜์‘ํ˜•