็„ก์ œ

Loop statement (๋ฐ˜๋ณต๋ฌธ) ๋ณธ๋ฌธ

<script>

Loop statement (๋ฐ˜๋ณต๋ฌธ)

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


๐ŸŸจ Loop Statement

๋ฐ˜๋ณต๋ฌธ์€ ๊ฐ™์€ ์ฝ”๋“œ ๋ธ”๋ก์„ ์—ฌ๋Ÿฌ ๋ฒˆ ์‹คํ–‰ํ•  ๋•Œ ์‚ฌ์šฉํ•˜๋Š” ๋ฌธ๋ฒ•์œผ๋กœ, JavaScript์—์„œ๋Š” ์กฐ๊ฑด์— ๋”ฐ๋ผ ๋ฐ˜๋ณต ์‹คํ–‰์„ ์ œ์–ดํ•  ์ˆ˜ ์žˆ๋‹ค.

 

1๏ธโƒฃ for ๋ฌธ

๊ฐ€์žฅ ๊ธฐ๋ณธ์ ์ธ ๋ฐ˜๋ณต๋ฌธ์œผ๋กœ, ๋ฐ˜๋ณต ํšŸ์ˆ˜๊ฐ€ ๋ช…ํ™•ํ•  ๋•Œ ์‚ฌ์šฉํ•œ๋‹ค.

for (let i = 0; i < 5; i++) {
  console.log(i);
}
  • ๊ตฌ์กฐ: ์ดˆ๊ธฐ๊ฐ’ → ์กฐ๊ฑด → ์ฆ๊ฐ
    • ์ดˆ๊ธฐ๊ฐ’: ๋ฐ˜๋ณต์„ ์‹œ์ž‘ํ•  ๋ณ€์ˆ˜๋ฅผ ๋งŒ๋“ ๋‹ค. (์˜ˆ: let i = 1;)
    • ์กฐ๊ฑด์‹: ์ด ์กฐ๊ฑด์ด ์ฐธ(true)์ธ ๋™์•ˆ ๊ณ„์† ๋ฐ˜๋ณตํ•œ๋‹ค. (์˜ˆ: i <= 5;)
    • ์ฆ๊ฐ์‹: ํ•œ ๋ฒˆ ๋ฐ˜๋ณต์ด ๋๋‚  ๋•Œ๋งˆ๋‹ค ๋ณ€์ˆ˜๋ฅผ ์–ด๋–ป๊ฒŒ ๋ณ€ํ™”์‹œํ‚ฌ์ง€ ์ •ํ•œ๋‹ค. (์˜ˆ: i++;)
 
 

2๏ธโƒฃ while ๋ฌธ

์กฐ๊ฑด ์ค‘์‹ฌ ๋ฐ˜๋ณต๋ฌธ์œผ๋กœ, ์กฐ๊ฑด์ด true์ธ ๋™์•ˆ ๊ณ„์† ๋ฐ˜๋ณตํ•œ๋‹ค. (๋ฐ˜๋ณต ํšŸ์ˆ˜๊ฐ€ ์ •ํ•ด์ ธ ์žˆ์ง€ ์•Š์„ ๋•Œ ์‚ฌ์šฉ)

while (energy > 0) {
  energy--;
}
  • ์ฃผ์˜: ์กฐ๊ฑด์ด ๊ณ„์† ์ฐธ์ด๋ฉด ๋ฐ˜๋ณต๋ฌธ์ด ๋๋‚˜์ง€ ์•Š๋Š” ๋ฌดํ•œ ๋ฃจํ”„์— ๋น ์งˆ ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ, ๋ฐ˜๋ณต๋ฌธ ๋‚ด๋ถ€์—์„œ ์กฐ๊ฑด์„ ๊ฑฐ์ง“์œผ๋กœ ๋ณ€๊ฒฝํ•˜๋Š” ์ฝ”๋“œ๋ฅผ ๋ฐ˜๋“œ์‹œ ์ž‘์„ฑํ•ด์•ผ ํ•œ๋‹ค.

 

3๏ธโƒฃ do...while ๋ฌธ

์กฐ๊ฑด์„ ๋‚˜์ค‘์— ๊ฒ€์‚ฌํ•˜๋ฏ€๋กœ ์ตœ์†Œ 1๋ฒˆ์€ ๋ฐ˜๋“œ์‹œ ์‹คํ–‰๋˜๋Š” ๋ฐ˜๋ณต๋ฌธ์ด๋‹ค.

do {
  console.log("์‹คํ–‰๋จ");
} while (false);

 

 

4๏ธโƒฃ break / continue

๋ฐ˜๋ณต๋ฌธ์„ ์ œ์–ดํ•  ๋•Œ ์‚ฌ์šฉํ•˜๋Š” ํ‚ค์›Œ๋“œ์ด๋‹ค.

if (i === 3) break;
if (i === 2) continue;
  • break: ๋ฐ˜๋ณต๋ฌธ์„ ์ฆ‰์‹œ ์ข…๋ฃŒํ•œ๋‹ค.
  • continue: ํ˜„์žฌ ๋ฐ˜๋ณต๋งŒ ๊ฑด๋„ˆ๋›ฐ๊ณ  ๋‹ค์Œ ๋ฐ˜๋ณต์œผ๋กœ ๋„˜์–ด๊ฐ„๋‹ค.

 

โญ ํŒ: ๋ฐฐ์—ด๊ณผ ํ•จ๊ป˜ ์“ฐ๋Š” ๋ฐ˜๋ณต๋ฌธ

ํ˜„์—…์—์„œ ๊ฐ€์žฅ ๋งŽ์ด ํ™œ์šฉ๋˜๋Š” ํ˜•ํƒœ๋กœ, ๋ชฉ๋ก์— ์žˆ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ํ•˜๋‚˜์”ฉ ๊บผ๋‚ด์–ด ์ฒ˜๋ฆฌํ•  ๋•Œ ์‚ฌ์šฉํ•œ๋‹ค.

const fruits = ["์‚ฌ๊ณผ", "๋ฐ”๋‚˜๋‚˜", "ํฌ๋„", "๋”ธ๊ธฐ"];

// fruits.length๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋ฐฐ์—ด์˜ ํฌ๊ธฐ๊ฐ€ ๋ฐ”๋€Œ์–ด๋„ ์•ˆ์ „ํ•ฉ๋‹ˆ๋‹ค.
for (let i = 0; i < fruits.length; i++) {
    console.log("๋ฐ”๊ตฌ๋‹ˆ์— " + fruits[i] + "๊ฐ€ ๋‹ด๊ฒจ ์žˆ์Šต๋‹ˆ๋‹ค.");
}
 

 

 

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

โœ”๏ธ for ๋ฌธ์€ ๋ฐ˜๋ณต ํšŸ์ˆ˜๊ฐ€ ๋ช…ํ™•ํ•  ๋•Œ ์‚ฌ์šฉํ•˜๋ฉด ์ฝ”๋“œ๊ฐ€ ๊น”๋”ํ•˜๋‹ค. โœ”๏ธ

โœ”๏ธ while ๋ฌธ์€ ์–ธ์ œ ๋๋‚ ์ง€ ๋ชจ๋ฅด๋Š” ์ƒํ™ฉ์—์„œ ์กฐ๊ฑด์— ์ง‘์ค‘ํ•  ๋•Œ ์‚ฌ์šฉํ•œ๋‹ค. โœ”๏ธ

โœ”๏ธ ๋ฐฐ์—ด์˜ ๋ชจ๋“  ์š”์†Œ๋ฅผ ํ›‘์„ ๋•Œ๋Š” array.length๋ฅผ ์กฐ๊ฑด์‹์— ํ™œ์šฉํ•˜๋Š” ๊ฒƒ์ด ์ •์„์ด๋‹ค. โœ”๏ธ

 


 

โš™๏ธ ์‹ค์ „ ์˜ˆ์ œ ์ฝ”๋“œ โš™๏ธ

// ๋ฐ˜๋ณต๋ฌธ ์•ˆ์— ๋ฐ˜๋ณต๋ฌธ์„ ๋„ฃ๋Š” '์ค‘์ฒฉ ๋ฐ˜๋ณต๋ฌธ'
let stairs = "";
const height = 5;

for (let i = 1; i <= height; i++) {
    // ํ•œ ์ค„๋งˆ๋‹ค ๋ณ„์„ i๊ฐœ์”ฉ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.
    stairs = "";
    for (let j = 1; j <= i; j++) {
        stairs += "โญ";
    }
    console.log(stairs);
}

/* ์‹คํ–‰ ๊ฒฐ๊ณผ:
โญ
โญโญ
โญโญโญ
โญโญโญโญ
โญโญโญโญโญ
*/