๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
Language/Javascript

[Javascript]์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์กฐ๊ฑด๋ฌธ ์™„์ „ ์ •๋ณต: ๊ธฐ์ดˆ๋ถ€ํ„ฐ ์‹ค์ „๊นŒ์ง€ ํ•œ ๋ฒˆ์— ๋ฐฐ์šฐ๊ธฐ

by YJ Dev 2024. 6. 14.
728x90
๋ฐ˜์‘ํ˜•
SMALL

์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์กฐ๊ฑด๋ฌธ์€ ๋กœ์ง์„ ์ œ์–ดํ•˜๋Š” ๋ฐ ํ•„์ˆ˜์ ์ธ ์—ญํ• ์„ ํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฒˆ ํฌ์ŠคํŒ…์—์„œ๋Š” ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ ๋‹ค์–‘ํ•œ ์กฐ๊ฑด๋ฌธ์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ณ , ์ดˆ๋ณด์ž๋„ ์‰ฝ๊ฒŒ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋Š” ์˜ˆ์ œ์™€ ์‹ค์Šต์„ ํ†ตํ•ด ํ™œ์šฉ๋ฒ•์„ ์ตํ˜€๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์กฐ๊ฑด๋ฌธ


์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์กฐ๊ฑด๋ฌธ์€ ์—ฐ์‚ฐ์ž์™€ ํ•จ๊ป˜ ์œ ์šฉํ•˜๊ฒŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์—ฐ์‚ฐ์ž์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์€ ์•„๋ž˜ ํฌ์ŠคํŒ…์„ ์ฐธ๊ณ ํ•ด ์ฃผ์„ธ์š”๐Ÿ˜

" "

[์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ]์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์—ฐ์‚ฐ์ž ์™„๋ฒฝ ๊ฐ€์ด๋“œ

์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์—ฐ์‚ฐ์ž๋Š” ๋ณ€์ˆ˜์™€ ๊ฐ’์„ ์กฐ์ž‘ํ•˜๋Š” ๋ฐ ์žˆ์–ด ์ค‘์š”ํ•œ ์—ญํ• ์„ ํ•ฉ๋‹ˆ๋‹ค. ์ด ๊ธ€์—์„œ ๋‹ค๋ฃจ๋Š” ๋‹ค์–‘ํ•œ ์—ฐ์‚ฐ์ž์˜ ์„ค๋ช…์„ ํ†ตํ•ด ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์—ฐ์‚ฐ์ž๋ฅผ ์™„๋ฒฝํ•˜๊ฒŒ ์ดํ•ดํ•˜๊ณ  ํšจ์œจ์ ์œผ๋กœ ํ™œ์šฉํ•  ์ˆ˜

creativevista.tistory.com


์กฐ๊ฑด๋ฌธ์˜ ๊ธฐ๋ณธ ๊ฐœ๋…๐Ÿ“š

์กฐ๊ฑด๋ฌธ์€ ํ”„๋กœ๊ทธ๋žจ์˜ ํ๋ฆ„์„ ์ œ์–ดํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ํŠน์ • ์กฐ๊ฑด์„ ๋งŒ์กฑํ•  ๋•Œ๋งŒ ์ฝ”๋“œ ๋ธ”๋ก์ด ์‹คํ–‰๋˜๋„๋ก ํ•ฉ๋‹ˆ๋‹ค. ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์—์„œ๋Š” if, else, else if, switch, ๊ทธ๋ฆฌ๊ณ  ์‚ผํ•ญ ์—ฐ์‚ฐ์ž(? :)๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์กฐ๊ฑด๋ฌธ์„ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.


if ๋ฌธโœ…

์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ if ๋ฌธ์€ ๊ฐ€์žฅ ๊ธฐ๋ณธ์ ์ธ ์กฐ๊ฑด๋ฌธ์ž…๋‹ˆ๋‹ค. ์กฐ๊ฑด์ด ์ฐธ์ผ ๋•Œ ์ฝ”๋“œ ๋ธ”๋ก์„ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.
if ๋ฌธ์€ ๋‹จ์ผ ์กฐ๊ฑด์„ ์ฒ˜๋ฆฌํ•  ๋•Œ ๊ฐ€์žฅ ์ž์ฃผ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ์กฐ๊ฑด์ด ์ฐธ์ผ ๋•Œ๋งŒ ์ฝ”๋“œ ๋ธ”๋ก์„ ์‹คํ–‰ํ•˜๊ณ , ๊ฑฐ์ง“์ผ ๊ฒฝ์šฐ์—๋Š” ์•„๋ฌด๋Ÿฐ ๋™์ž‘๋„ ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ด๋Š” ๋งค์šฐ ๊ฐ„๋‹จํ•œ ์กฐ๊ฑด ์ฒ˜๋ฆฌ์— ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค.

if (condition) {
  // ์กฐ๊ฑด์ด ์ฐธ์ผ ๋•Œ ์‹คํ–‰๋˜๋Š” ์ฝ”๋“œ
}
  • ์˜ˆ์ œ
let age = 18;
if (age >= 18) {
  console.log("์„ฑ์ธ์ž…๋‹ˆ๋‹ค.");
}

else์™€ else if๐Ÿ”„

else ๋ฌธ์€ if ๋ฌธ์˜ ์กฐ๊ฑด์ด ๊ฑฐ์ง“์ผ ๋•Œ ์‹คํ–‰๋˜๋Š” ์ฝ”๋“œ๋ฅผ ์ •์˜ํ•ฉ๋‹ˆ๋‹ค. else if ๋ฌธ์€ ์—ฌ๋Ÿฌ ์กฐ๊ฑด์„ ์ฒ˜๋ฆฌํ•  ๋•Œ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.
else if ๋ฌธ์„ ์‚ฌ์šฉํ•˜๋ฉด ๋ณต์žกํ•œ ์กฐ๊ฑด์„ ์ˆœ์ฐจ์ ์œผ๋กœ ๊ฒ€์‚ฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐ ์กฐ๊ฑด์€ ์ˆœ์„œ๋Œ€๋กœ ํ‰๊ฐ€๋˜๋ฉฐ, ์ฒซ ๋ฒˆ์งธ๋กœ ์ฐธ์ธ ์กฐ๊ฑด์˜ ์ฝ”๋“œ ๋ธ”๋ก์ด ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค. ๋ชจ๋“  ์กฐ๊ฑด์ด ๊ฑฐ์ง“์ผ ๊ฒฝ์šฐ else ๋ธ”๋ก์ด ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค.

if (condition1) {
  // ์กฐ๊ฑด1์ด ์ฐธ์ผ ๋•Œ ์‹คํ–‰๋˜๋Š” ์ฝ”๋“œ
} else if (condition2) {
  // ์กฐ๊ฑด2๊ฐ€ ์ฐธ์ผ ๋•Œ ์‹คํ–‰๋˜๋Š” ์ฝ”๋“œ
} else {
  // ๋ชจ๋“  ์กฐ๊ฑด์ด ๊ฑฐ์ง“์ผ ๋•Œ ์‹คํ–‰๋˜๋Š” ์ฝ”๋“œ
}
  • ์˜ˆ์ œ
let score = 75;
if (score >= 90) {
  console.log("A ํ•™์ ");
} else if (score >= 80) {
  console.log("B ํ•™์ ");
} else if (score >= 70) {
  console.log("C ํ•™์ ");
} else {
  console.log("F ํ•™์ ");
}

switch ๋ฌธ๐Ÿ”€

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

switch (expression) {
  case value1:
    // value1์ด ์ผ์น˜ํ•  ๋•Œ ์‹คํ–‰๋˜๋Š” ์ฝ”๋“œ
    break;
  case value2:
    // value2๊ฐ€ ์ผ์น˜ํ•  ๋•Œ ์‹คํ–‰๋˜๋Š” ์ฝ”๋“œ
    break;
  default:
    // ๋ชจ๋“  ์กฐ๊ฑด์ด ์ผ์น˜ํ•˜์ง€ ์•Š์„ ๋•Œ ์‹คํ–‰๋˜๋Š” ์ฝ”๋“œ
}
  • ์˜ˆ์ œ
let day = 3;
switch (day) {
  case 1:
    console.log("์›”์š”์ผ");
    break;
  case 2:
    console.log("ํ™”์š”์ผ");
    break;
  case 3:
    console.log("์ˆ˜์š”์ผ");
    break;
  default:
    console.log("์ฃผ๋ง");
}

์‚ผํ•ญ ์—ฐ์‚ฐ์ž๐ŸŽญ

์‚ผํ•ญ ์—ฐ์‚ฐ์ž๋Š” if-else ๋ฌธ์„ ์งง๊ฒŒ ์ž‘์„ฑํ•  ๋•Œ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ์‚ผํ•ญ ์—ฐ์‚ฐ์ž๋Š” ์„ธ ๊ฐœ์˜ ํ”ผ์—ฐ์‚ฐ์ž๋ฅผ ์ทจํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์‚ผํ•ญ(ternary)์ด๋ผ๋Š” ์ด๋ฆ„์ด ๋ถ™์—ˆ์Šต๋‹ˆ๋‹ค. ๊ธฐ๋ณธ ๊ตฌ์กฐ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

condition ? expr1 : expr2;

์—ฌ๊ธฐ์„œ condition์ด ์ฐธ์ด๋ฉด expr1์ด ์‹คํ–‰๋˜๊ณ , ๊ฑฐ์ง“์ด๋ฉด expr2๊ฐ€ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค.

  • ์˜ˆ์ œ
let age = 18;
let message = (age >= 18) ? "์„ฑ์ธ์ž…๋‹ˆ๋‹ค." : "๋ฏธ์„ฑ๋…„์ž์ž…๋‹ˆ๋‹ค.";
console.log(message);

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


์‹ค์Šต ๋ฌธ์ œ๐Ÿ› ๏ธ

๋‹ค์Œ์€ ์ง์ ‘ ํ’€์–ด๋ณผ ์ˆ˜ ์žˆ๋Š” ์‹ค์Šต ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค.

  1. ์ˆซ์ž๋ฅผ ์ž…๋ ฅ๋ฐ›์•„ ์ง์ˆ˜์ธ์ง€ ํ™€์ˆ˜์ธ์ง€ ํŒ๋ณ„ํ•˜๋Š” ์กฐ๊ฑด๋ฌธ ์ž‘์„ฑํ•˜๊ธฐ.
  2. ์‚ฌ์šฉ์ž ์ ์ˆ˜๋ฅผ ์ž…๋ ฅ๋ฐ›์•„ ํ•™์ ์„ ์ถœ๋ ฅํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ ์ž‘์„ฑํ•˜๊ธฐ.
  3. ์š”์ผ์„ ์ž…๋ ฅ๋ฐ›์•„ ์ฃผ์ค‘์ธ์ง€ ์ฃผ๋ง์ธ์ง€ ์ถœ๋ ฅํ•˜๋Š” switch ๋ฌธ ์ž‘์„ฑํ•˜๊ธฐ.
  • ํ’€์ด
// 1. ์ง์ˆ˜ ํ™€์ˆ˜ ํŒ๋ณ„
let num = 10;
if (num % 2 === 0) {
  console.log("์ง์ˆ˜");
} else {
  console.log("ํ™€์ˆ˜");
}

// 2. ํ•™์  ์ถœ๋ ฅ
let score = 85;
if (score >= 90) {
  console.log("A ํ•™์ ");
} else if (score >= 80) {
  console.log("B ํ•™์ ");
} else if (score >= 70) {
  console.log("C ํ•™์ ");
} else {
  console.log("F ํ•™์ ");
}

// 3. ์ฃผ์ค‘ ์ฃผ๋ง ์ถœ๋ ฅ
let day = "Saturday";
switch (day) {
  case "Monday":
  case "Tuesday":
  case "Wednesday":
  case "Thursday":
  case "Friday":
    console.log("์ฃผ์ค‘");
    break;
  case "Saturday":
  case "Sunday":
    console.log("์ฃผ๋ง");
    break;
  default:
    console.log("์ž˜๋ชป๋œ ์ž…๋ ฅ");
}

๊ณ ๊ธ‰ ์กฐ๊ฑด๋ฌธ ์‚ฌ์šฉ๋ฒ•๐Ÿš€

์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๋…ผ๋ฆฌ ์—ฐ์‚ฐ์ž(&&, ||, !)์™€ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์กฐ๊ฑด๋ฌธ์„ ๊ฒฐํ•ฉํ•˜์—ฌ ๋” ๋ณต์žกํ•œ ์กฐ๊ฑด์„ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ ์กฐ๊ฑด๋ฌธ์„ ์ตœ์ ํ™”ํ•˜์—ฌ ์„ฑ๋Šฅ์„ ํ–ฅ์ƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

let a = true;
let b = false;
if (a && b) {
  console.log("๋‘˜ ๋‹ค ์ฐธ");
} else if (a || b) {
  console.log("๋‘˜ ์ค‘ ํ•˜๋‚˜ ์ฐธ");
} else {
  console.log("๋‘˜ ๋‹ค ๊ฑฐ์ง“");
}

์กฐ๊ฑด๋ฌธ์„ ์‚ฌ์šฉํ•  ๋•Œ๋Š” ๊ฐ€๋…์„ฑ์„ ๋†’์ด๊ธฐ ์œ„ํ•ด ๊ฐ„๋‹จ๋ช…๋ฃŒํ•˜๊ฒŒ ์ž‘์„ฑํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค.


ํ•ต์‹ฌ ๋‚ด์šฉ๐Ÿ‘€

์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ์กฐ๊ฑด๋ฌธ

728x90
๋ฐ˜์‘ํ˜•