็„ก์ œ

Conditional statement (์กฐ๊ฑด๋ฌธ) ๋ณธ๋ฌธ

<script>

Conditional statement (์กฐ๊ฑด๋ฌธ)

yo-u-loo 2026. 5. 28. 14:21


๐ŸŸจ Conditional statement

ํ”„๋กœ๊ทธ๋žจ์— ํŒ๋‹จ ํ๋ฆ„(๋กœ์ง)์„ ๋ถ€์—ฌํ•˜๋Š” ๋ฌธ๋ฒ•์œผ๋กœ, ์กฐ๊ฑด์ด true(์ฐธ)์ธ์ง€ false(๊ฑฐ์ง“)์ธ์ง€์— ๋”ฐ๋ผ ์„œ๋กœ ๋‹ค๋ฅธ ์ฝ”๋“œ ๋ธ”๋ก์„ ์‹คํ–‰ํ•œ๋‹ค.

 

๐ŸŸฃ if ๋ฌธ (๊ธฐ๋ณธ ์กฐ๊ฑด๋ฌธ)

๊ฐ€์žฅ ๊ธฐ๋ณธ์ ์ธ ์กฐ๊ฑด๋ฌธ์œผ๋กœ, “๋งŒ์•ฝ ~๋ผ๋ฉด ์‹คํ–‰ํ•œ๋‹ค”๋ผ๋Š” ์˜๋ฏธ๋ฅผ ๊ฐ€์ง„๋‹ค.

let score = 85;

if (score >= 90) {
    console.log("Aํ•™์ ์ž…๋‹ˆ๋‹ค.");
} else if (score >= 80) {
    console.log("Bํ•™์ ์ž…๋‹ˆ๋‹ค.");
} else {
    console.log("Cํ•™์  ์ดํ•˜์ž…๋‹ˆ๋‹ค.");
}
 

 

๐Ÿ”น if (๋งŒ์•ฝ ~๋ผ๋ฉด)

์กฐ๊ฑด๋ฌธ์˜ ์‹œ์ž‘์œผ๋กœ, ๊ด„ํ˜ธ ( ) ์•ˆ์˜ ์กฐ๊ฑด์ด ์ฐธ(true)์ผ ๋•Œ๋งŒ ์ค‘๊ด„ํ˜ธ { } ๋ธ”๋ก์ด ์‹คํ–‰๋œ๋‹ค.

let rain = true;

if (rain) {
    console.log("์šฐ์‚ฐ์„ ์ฑ™๊ธฐ์„ธ์š”!"); // ์กฐ๊ฑด์ด true์ด๋ฏ€๋กœ ์‹คํ–‰๋จ
}
  • ํŠน์ง•: ๋‹จ๋…์œผ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์กฐ๊ฑด์ด ๊ฑฐ์ง“(false)์ด๋ฉด ์•„๋ฌด๊ฒƒ๋„ ์‹คํ–‰ํ•˜์ง€ ์•Š๊ณ  ๋„˜์–ด๊ฐ„๋‹ค.

 

๐Ÿ”น else (๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด)

if ์กฐ๊ฑด์ด ๊ฑฐ์ง“(false)์ผ ๋•Œ ์‹คํ–‰๋œ๋‹ค.

let money = 5000;

if (money >= 10000) {
    console.log("ํƒ์‹œ๋ฅผ ํƒ€๊ณ  ๊ฐ‘๋‹ˆ๋‹ค.");
} else {
    console.log("๋ฒ„์Šค๋ฅผ ํƒ€๊ณ  ๊ฐ‘๋‹ˆ๋‹ค."); // ์œ„์˜ ์กฐ๊ฑด์ด ๊ฑฐ์ง“์ด๋ฏ€๋กœ ์‹คํ–‰๋จ
}
  • ํŠน์ง•: if ๋’ค์— ๋‹จ ํ•œ ๋ฒˆ๋งŒ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•˜๋‹ค.
  • “๋‚˜๋จธ์ง€ ๋ชจ๋“  ๊ฒฝ์šฐ”๋ฅผ ์˜๋ฏธ. (์กฐ๊ฑด ์—†์Œ)

 

๐Ÿ”น else if (๊ทธ๊ฒŒ ์•„๋‹ˆ๋ผ ~๋ผ๋ฉด)

if ๋ฌธ๊ณผ else ๋ฌธ ์‚ฌ์ด์— ์œ„์น˜ํ•˜๋ฉฐ, if ์กฐ๊ฑด์ด false์ผ ๋•Œ ์ƒˆ๋กœ์šด ์กฐ๊ฑด์„ ์ถ”๊ฐ€๋กœ ๊ฒ€์‚ฌํ•œ๋‹ค.

let score = 75;

if (score >= 90) {
    console.log("์šฐ์ˆ˜");
} else if (score >= 70) {
    console.log("๋ณดํ†ต"); // ์•ž์„  ์กฐ๊ฑด์ด ๊ฑฐ์ง“์ด๊ณ , ํ˜„์žฌ ์กฐ๊ฑด์ด ์ฐธ์ด๋ฏ€๋กœ ์‹คํ–‰๋จ
} else if (score >= 50) {
    console.log("๋…ธ๋ ฅํ•„์š”");
} else {
    console.log("๋‚™์ œ");
}
  • ํŠน์ง•: ์—ฌ๋Ÿฌ ๊ฐœ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•˜๋ฉฐ, ์œ„์—์„œ๋ถ€ํ„ฐ ์ˆœ์ฐจ์ ์œผ๋กœ ๊ฒ€์‚ฌํ•œ๋‹ค.
  • ์ฒ˜์Œ true๊ฐ€ ๋‚˜์˜ค๋ฉด ๋‚˜๋จธ์ง€๋Š” ์‹คํ–‰ํ•˜์ง€ ์•Š๋Š”๋‹ค.

 


 

๐Ÿ“‹ if ๋ฌธ ๊ตฌ์กฐ ์ •๋ฆฌ ๐Ÿ“‹

๊ตฌ์„ฑ ์—ญํ•  ํ•„์ˆ˜ ์—ฌ๋ถ€ ์กฐ๊ฑด ํ•„์š” ์—ฌ๋ถ€
if ์ฒซ ๋ฒˆ์งธ ์กฐ๊ฑด์„ ๊ฒ€์‚ฌํ•˜๊ณ  ์ฐธ์ด๋ฉด ์‹คํ–‰ ํ•„์ˆ˜ ํ•„์š”ํ•จ (์กฐ๊ฑด)
else if ์•ž์„  ์กฐ๊ฑด๋“ค์ด ๊ฑฐ์ง“์ผ ๋•Œ ์ƒˆ๋กœ์šด ์กฐ๊ฑด์„ ๊ฒ€์‚ฌ ์„ ํƒ (์—ฌ๋Ÿฌ ๊ฐœ ๊ฐ€๋Šฅ) ํ•„์š”ํ•จ (์กฐ๊ฑด)
else ๋ชจ๋“  ์•ž์„  ์กฐ๊ฑด๋“ค์ด ๊ฑฐ์ง“์ผ ๋•Œ ๋ฌด์กฐ๊ฑด ์‹คํ–‰ ์„ ํƒ (์ตœ๋Œ€ ํ•œ ๋ฒˆ) ๋ถˆํ•„์š”

 

๐ŸŸฃ switch ๋ฌธ (๋‹ค์ค‘ ์„ ํƒ๋ฌธ)

ํ•˜๋‚˜์˜ ๊ฐ’์— ๋Œ€ํ•ด ์—ฌ๋Ÿฌ ๊ฒฝ์šฐ(case)๋ฅผ ๋ถ„๊ธฐ ์ฒ˜๋ฆฌํ•˜๋Š” ์กฐ๊ฑด๋ฌธ์ด๋‹ค.

let browser = "Chrome";

switch (browser) {
    case "Edge":
        console.log("๋งˆ์ดํฌ๋กœ์†Œํ”„ํŠธ ๋ธŒ๋ผ์šฐ์ €์ž…๋‹ˆ๋‹ค.");
        break;
    case "Chrome":
        console.log("๊ตฌ๊ธ€ ๋ธŒ๋ผ์šฐ์ €์ž…๋‹ˆ๋‹ค.");
        break;
    default:
        console.log("์•Œ ์ˆ˜ ์—†๋Š” ๋ธŒ๋ผ์šฐ์ €์ž…๋‹ˆ๋‹ค.");
}
 
  • case: ๋ณ€์ˆ˜์˜ ๊ฐ’๊ณผ ์ผ์น˜ํ•˜๋Š” ๊ฒฝ์šฐ ์‹คํ–‰.
  • break: ํ•ด๋‹น ์ผ€์ด์Šค๋ฅผ ์‹คํ–‰ํ•œ ํ›„ switch ์ข…๋ฃŒ, ์—†์œผ๋ฉด ์•„๋ž˜ case๊นŒ์ง€ ๊ณ„์† ์‹คํ–‰๋จ. (fall-through)
  • default: ๋ชจ๋“  case๊ฐ€ ์ผ์น˜ํ•˜์ง€ ์•Š์„ ๋•Œ ์‹คํ–‰, if ๋ฌธ์˜ else ์—ญํ• . (๊ธฐ๋ณธ๊ฐ’)

 


 

๐Ÿ“‹ if ๋ฌธ vs switch ๋ฌธ ๋น„๊ต ๐Ÿ“‹

๊ตฌ๋ถ„ if ๋ฌธ switch ๋ฌธ
๊ธฐ์ค€ ๋ฒ”์œ„ / ๋‹ค์–‘ํ•œ ์กฐ๊ฑด์‹ ์ •ํ™•ํ•œ ๊ฐ’
๋น„๊ต ๋ฐฉ์‹ >, <, >=, <=, === ๋“ฑ ๋‹ค์–‘ํ•œ ์กฐ๊ฑด === (์—„๊ฒฉ ๋น„๊ต, ๊ฐ’ ์ผ์น˜)
๊ฐ€๋…์„ฑ ์กฐ๊ฑด์ด ๋งŽ์•„์ง€๋ฉด ์ฝ”๋“œ๊ฐ€ ๊ธธ์–ด์ง€๊ณ  ๋ณต์žกํ•ด์ง ์—ฌ๋Ÿฌ ๊ฐ’ ๋น„๊ต ์‹œ ๊ตฌ์กฐ๊ฐ€ ๊น”๋”ํ•จ
์šฉ๋„ ๋ณต์žกํ•œ ๋กœ์ง, ๋ฒ”์œ„ ๋น„๊ต, ๋‹ค์ค‘ ์กฐ๊ฑด ์ฒ˜๋ฆฌ ๋‹จ์ˆœํ•œ ๊ฐ’ ๋ถ„๊ธฐ (case๋ณ„ ์ฒ˜๋ฆฌ)

 

 

๐ŸŸฃ ์‚ผํ•ญ ์กฐ๊ฑด ์—ฐ์‚ฐ์ž (Ternary Operator)

if-else๋ฅผ ํ•œ ์ค„๋กœ ์ถ•์•ฝํ•œ ํ‘œํ˜„์ด๋‹ค.

let age = 20;
let message = (age >= 19) ? "์„ฑ์ธ์ž…๋‹ˆ๋‹ค." : "๋ฏธ์„ฑ๋…„์ž์ž…๋‹ˆ๋‹ค.";

console.log(message); // "์„ฑ์ธ์ž…๋‹ˆ๋‹ค."
  • ๊ตฌ์กฐ: ์กฐ๊ฑด ? ์ฐธ์ผ_๋•Œ_๊ฐ’ : ๊ฑฐ์ง“์ผ_๋•Œ_๊ฐ’

 

 

๐Ÿ“โ€Š POINT ๐Ÿ“โ€Š

โœ”๏ธ if ๋ฌธ์€ ๊ฐ€์žฅ ๋ฒ”์šฉ์ ์ธ ์กฐ๊ฑด๋ฌธ์ด๋ฉฐ, ๋น„๊ต ์—ฐ์‚ฐ์ž์™€ ํ•จ๊ป˜ ์ž์ฃผ ์“ฐ์ธ๋‹ค. โœ”๏ธ

โœ”๏ธ switch ๋ฌธ์€ ์ •ํ•ด์ง„ ๊ฐ’(๋ฉ”๋‰ด ์„ ํƒ, ์š”์ผ ๋“ฑ)์— ๋”ฐ๋ผ ๋™์ž‘์„ ๋‚˜๋ˆŒ ๋•Œ ๊ฐ€๋…์„ฑ์ด ์ข‹๋‹ค. โœ”๏ธ

โœ”๏ธ break ํ‚ค์›Œ๋“œ๋ฅผ ์žŠ์œผ๋ฉด switch ๋ฌธ์ด ๋ฉˆ์ถ”์ง€ ์•Š๊ณ  ์•„๋ž˜๋กœ ๊ณ„์† ํ๋ฅธ๋‹ค๋Š” ์ ์„ ๊ผญ ๊ธฐ์–ตํ•˜์ž. โœ”๏ธ

 

 

๐Ÿ“‹ ์„ธ ๊ฐ€์ง€ ๊ตฌ์„ฑ ์š”์†Œ ํ•œ๋ˆˆ์— ๋น„๊ต ๐Ÿ“‹

๊ตฌ์„ฑ ์—ญํ•  ํ•„์ˆ˜ ์—ฌ๋ถ€ ์กฐ๊ฑด ํ•„์š” ์—ฌ๋ถ€
if ์ฒซ ๋ฒˆ์งธ ์กฐ๊ฑด์„ ๊ฒ€์‚ฌํ•˜๊ณ  ์ฐธ์ด๋ฉด ์‹คํ–‰ ํ•„์ˆ˜ ํ•„์š”ํ•จ (์กฐ๊ฑด)
else if ์•ž์„  ์กฐ๊ฑด๋“ค์ด ๊ฑฐ์ง“์ผ ๋•Œ ์ƒˆ๋กœ์šด ์กฐ๊ฑด์„ ๊ฒ€์‚ฌ ์„ ํƒ (์—ฌ๋Ÿฌ ๊ฐœ ๊ฐ€๋Šฅ) ํ•„์š”ํ•จ (์กฐ๊ฑด)
else ๋ชจ๋“  ์•ž์„  ์กฐ๊ฑด๋“ค์ด ๊ฑฐ์ง“์ผ ๋•Œ ๋ฌด์กฐ๊ฑด ์‹คํ–‰ ์„ ํƒ (์ตœ๋Œ€ ํ•œ ๋ฒˆ) ๋ถˆํ•„์š”