# ์กฐ๊ฑด๋ฌธ(Condition)

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

์กฐ๊ฑด๋ฌธ์— ๋Œ€ํ•œ ์ดํ•ด๋ฅผ ๋•๊ธฐ ์œ„ํ•ด ๊ฐ„๋‹จํ•œ ์˜ˆ์‹œ๋ฅผ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ์˜ํ™” ํ‹ฐ์ผ“์„ ๋Š์„ ๋•Œ ์„ฑ์ธ์ด๋ฉด 10,000์›์„ ๋‚ด๊ณ  ํ•™์ƒ์ด๋ฉด 5,000์›์„ ๋‚ด์•ผ ํ•˜๋Š” ๊ฒฐ์ œ ๋กœ์ง์„ ์ž‘์„ฑํ•œ๋‹ค๊ณ  ํ•˜๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

๋งŒ์•ฝ, ๋‚˜์ด๊ฐ€ 18์„ธ ์ด์ƒ์ด๋ฉด 10,000์›์„ ๋‚ธ๋‹ค.
๊ทธ๋ ‡์ง€ ์•Š๊ณ  ๋‚˜์ด๊ฐ€ 17์„ธ ์ดํ•˜๋ฉด 5,000์›์„ ๋‚ธ๋‹ค.

์œ„ ๋กœ์ง์„ ์กฐ๊ฑด๋ฌธ์œผ๋กœ ์ž‘์„ฑํ•ด ๋ณด๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

var age = 24;
if (age >= 18) {
  console.log('10,000์› ์ง€๋ถˆ');
} else {
  console.log('5,000์› ์ง€๋ถˆ');
}

# if ์กฐ๊ฑด๋ฌธ

if ๋ฌธ์€ ์ฃผ์–ด์ง„ ์กฐ๊ฑด์‹์ด ์ฐธ์ด๋ฉด if ๋ฌธ ๋ธ”๋ก ์•ˆ์— ์žˆ๋Š” ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.

if (์กฐ๊ฑด์‹) {
  // ์กฐ๊ฑด์‹์ด ๋งž์œผ๋ฉด ์ด ๋ธ”๋ก ์•ˆ์˜ ์ฝ”๋“œ๊ฐ€ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค.
}

์œ„ ๋ฌธ๋ฒ•์„ ์ดํ•ดํ•˜๊ธฐ ์œ„ํ•ด ๊ฐ„๋‹จํ•œ ์˜ˆ์ œ๋ฅผ ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

var a = 10;
if (a === 10) {
  console.log('10์ด ๋งž์Šต๋‹ˆ๋‹ค');
}

์œ„ ์ฝ”๋“œ๋Š” ๋ณ€์ˆ˜ a์— 10์ด ํ• ๋‹น๋˜์–ด ์žˆ์œผ๋ฏ€๋กœ if ๋ฌธ ์•ˆ์˜ ์ฝ”๋“œ์ธ console.log('10์ด ๋งž์Šต๋‹ˆ๋‹ค')๊ฐ€ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค. ์ด๋ ‡๊ฒŒ ๋ธ”๋ก ์•ˆ์˜ ์ฝ”๋“œ๊ฐ€ ํ•œ ์ค„์ด๋“  ์—ฌ๋Ÿฌ ์ค„์ด๋“  ๋ธ”๋ก ์•ˆ์˜ ์ฝ”๋“œ๋Š” ๋ชจ๋‘ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค.

# if else ๋ฌธ

์œ„์—์„œ ๋ฐฐ์šด if ๋ฌธ์—์„œ ์กฐ๊ฑด์‹์ด ์ฐธ์ด ์•„๋‹ˆ๋ผ ๊ฑฐ์ง“์ธ ๊ฒฝ์šฐ์— ์‹คํ–‰๋  ์ฝ”๋“œ๋„ ์•„๋ž˜์™€ ๊ฐ™์ด ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

if (์กฐ๊ฑด์‹) {
  // ์กฐ๊ฑด์‹์ด ๋งž์œผ๋ฉด ์ด ๋ธ”๋ก ์•ˆ์˜ ์ฝ”๋“œ๊ฐ€ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค.
} else {
  // ์œ„ ์กฐ๊ฑด์‹์ด ํ‹€๋ฆฌ๋ฉด ์ด ๋ธ”๋ก ์•ˆ์˜ ์ฝ”๋“œ๊ฐ€ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค.
}

์œ„ ๋ฌธ๋ฒ•์„ ์ด์šฉํ•˜์—ฌ ์•ž ์˜ˆ์ œ์— else ๊ตฌ๋ฌธ์„ ์ถ”๊ฐ€ํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

var a = 30;
if (a === 10) {
  console.log('10์ด ๋งž์Šต๋‹ˆ๋‹ค');
} else {
  console.log('a๊ฐ€ 10์ด ์•„๋‹ˆ๋ฉด ์ด ์ฝ”๋“œ๊ฐ€ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค');
}

์œ„ ์ฝ”๋“œ์—์„œ ๋ณ€์ˆ˜ a์˜ ๊ฐ’์ด 10์ด ์•„๋‹ˆ๊ธฐ ๋•Œ๋ฌธ์— else ๋ฌธ ๋ธ”๋ก ์•ˆ์˜ ์ฝ”๋“œ๊ฐ€ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค. ์ตœ์ข…์ ์œผ๋กœ a๊ฐ€ 10์ด ์•„๋‹ˆ๋ฉด ์ด ์ฝ”๋“œ๊ฐ€ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค ๊ฐ€ ์ถœ๋ ฅ๋ฉ๋‹ˆ๋‹ค.

# else if ๋ฌธ

else if ๋ฌธ์€ ์กฐ๊ฑด์‹์ด ์—ฌ๋Ÿฌ ๊ฐœ์ธ ๊ฒฝ์šฐ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋ฌธ๋ฒ•์ž…๋‹ˆ๋‹ค. ๊ธฐ๋ณธ ๋ฌธ๋ฒ•์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

if (์ฒซ๋ฒˆ์งธ์กฐ๊ฑด์‹) {
  // ์ฒซ๋ฒˆ์งธ์กฐ๊ฑด์‹์ด ๋งž์œผ๋ฉด ์ด ๋ธ”๋ก ์•ˆ์˜ ์ฝ”๋“œ๊ฐ€ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค.
} else if (๋‘๋ฒˆ์งธ์กฐ๊ฑด์‹) {
  // ๋‘๋ฒˆ์งธ์กฐ๊ฑด์‹์ด ๋งž์œผ๋ฉด ์ด ๋ธ”๋ก ์•ˆ์˜ ์ฝ”๋“œ๊ฐ€ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค.
}

์œ„์—์„œ ์กฐ๊ฑด๋ฌธ์„ ์†Œ๊ฐœํ•  ๋•Œ ์‚ฌ์šฉํ–ˆ๋˜ ์กฐ๊ฑด์„ ๋‹ค์‹œ ๋“ค๊ณ  ์™€์„œ ์‹œ๋‚˜๋ฆฌ์˜ค๋ฅผ ์ข€ ๋” ์ถ”๊ฐ€ํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

๋งŒ์•ฝ ๋‚˜์ด๊ฐ€ 65์„ธ ์ด์ƒ์ด๋ฉด ๋ˆ์„ ๋‚ด์ง€ ์•Š๋Š”๋‹ค.
๋งŒ์•ฝ ๋‚˜์ด๊ฐ€ 18์„ธ ~ 65์„ธ ์‚ฌ์ด๋ฉด 10,000์›์„ ๋‚ธ๋‹ค.
๊ทธ๋ ‡์ง€ ์•Š๊ณ  ๋‚˜์ด๊ฐ€ 17์„ธ ์ดํ•˜๋ฉด 5,000์›์„ ๋‚ธ๋‹ค.

์œ„ ์กฐ๊ฑด์„ ์ฝ”๋“œ๋กœ ์ž‘์„ฑํ•ด ๋ณด๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

var age = 24;
if (age > 65) {
  console.log('๋ฌด๋ฃŒ');
} else if (18 <= age && age <= 65) {
  console.log('10,000์› ์ง€๋ถˆ');
} else {
  console.log('5,000์› ์ง€๋ถˆ');
}

์œ„ ์ฝ”๋“œ์—์„œ age ๊ฐ’์ด 24์ด๋ฏ€๋กœ 18์„ธ ์ด์ƒ์ด๊ณ  65์„ธ ์ดํ•˜์ธ else if ๊ตฌ๋ฌธ์— ํ•ด๋‹น๋ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ, else if ๋ฌธ ๋ธ”๋ก ์•ˆ์— ์žˆ๋Š” ์ฝ”๋“œ๊ฐ€ ์‹คํ–‰๋˜์–ด 10,000์› ์ง€๋ถˆ์ด ์ถœ๋ ฅ๋ฉ๋‹ˆ๋‹ค.

# switch ๋ฌธ

switch ๋ฌธ์€ ์กฐ๊ฑด ์‹์ด ์—ฌ๋Ÿฌ ๊ฐœ์ธ ๊ฒฝ์šฐ์— ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์กฐ๊ฑด๋ฌธ์ž…๋‹ˆ๋‹ค. ๋ฐ”๋กœ ์•ž์—์„œ ๋ฐฐ์šด else if ๊ตฌ๋ฌธ๊ณผ ์—ญํ• ์ด ๊ฐ™์Šต๋‹ˆ๋‹ค. ๊ธฐ๋ณธ ๋ฌธ๋ฒ•์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

switch (๋ณ€์ˆ˜) {
  case ๊ฐ’1:
    // ๋ณ€์ˆ˜๊ฐ€ ๊ฐ’1์ด๋ฉด ์‹คํ–‰ํ•  ๋กœ์ง
    break;
  case ๊ฐ’2:
    // ๋ณ€์ˆ˜๊ฐ€ ๊ฐ’2์ด๋ฉด ์‹คํ–‰ํ•  ๋กœ์ง
    break;
  default:
    // ๋ณ€์ˆ˜๊ฐ€ ์œ„ ์–ด๋–ค ์ผ€์ด์Šค์—๋„ ํ•ด๋‹นํ•˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ ์‹คํ–‰ํ•  ๋กœ์ง
}

a์˜ ๊ฐ’์— ๋”ฐ๋ผ ์ถœ๋ ฅ๊ฐ’์ด ๋‹ฌ๋ผ์ง€๋Š” ๊ฐ„๋‹จํ•œ ์˜ˆ์ œ ์ฝ”๋“œ๋ฅผ ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

var num = 33;
switch (num) {
  case 10:
    console.log('10์ž…๋‹ˆ๋‹ค');
    break;
  case 33:
    console.log('33์ž…๋‹ˆ๋‹ค');
    break;
  default:
    console.log('10๊ณผ 33์ด ์•„๋‹Œ ๋‹ค๋ฅธ ์ˆซ์ž์ž…๋‹ˆ๋‹ค.');
}

์œ„ ์ฝ”๋“œ๊ฐ€ ์‹คํ–‰๋˜๋ฉด 33์ž…๋‹ˆ๋‹ค๊ฐ€ ์ถœ๋ ฅ๋ฉ๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์„œ ๋งŒ์•ฝ num ๊ฐ’์ด 20์ด๋ผ๋ฉด default ๋ธ”๋ก์— ์ •์˜ํ•œ 10๊ณผ 33์ด ์•„๋‹Œ ๋‹ค๋ฅธ ์ˆซ์ž์ž…๋‹ˆ๋‹ค.๊ฐ€ ์ถœ๋ ฅ๋ฉ๋‹ˆ๋‹ค.