html
JavaScript์์ While Loops ๋ง์คํฐํ๊ธฐ: ์ข ํฉ ๊ฐ์ด๋
๋ชฉ์ฐจ
- ์๊ฐ
- While Loops ์ดํดํ๊ธฐ
- JavaScript์์ While Loops ๊ตฌํํ๊ธฐ
- ์ค์ฉ์ ์ธ ์์
- ์ต๊ณ ์ ์ค์ฒ ๋ฐฉ๋ฒ
- ๊ฒฐ๋ก
- ์ถ๊ฐ ์๋ฃ
์๊ฐ
"JavaScript์์ While Loops ๋ง์คํฐํ๊ธฐ: ์ข ํฉ ๊ฐ์ด๋."์ ์ค์ ๊ฒ์ ํ์ํฉ๋๋ค. ์ด๋ณด ๊ฐ๋ฐ์์ด๋ ๊ธฐ๋ณธ์ ์ธ ํ๋ก๊ทธ๋๋ฐ ์ง์์ ๊ฐ์ง ์ฌ๋์ด๋ , ๋ฃจํ๋ฅผ ์ดํดํ๋ ๊ฒ์ ํจ์จ์ ์ด๊ณ ํจ๊ณผ์ ์ธ ์ฝ๋๋ฅผ ์์ฑํ๋ ๋ฐ ํ์์ ์ ๋๋ค. ์ด eBook์ JavaScript์ while loop์ ๊น์ด ์๊ฒ ๋ค๋ฃจ๋ฉฐ, ๊ทธ ๋ฌธ๋ฒ, ์ฅ์ , ๊ทธ๋ฆฌ๊ณ ๋ณด๋ค ์ผ๋ฐ์ ์ผ๋ก ์ฌ์ฉ๋๋ for loop๊ณผ์ ๋น๊ต๋ฅผ ํ๊ตฌํฉ๋๋ค.
์ While Loops์ธ๊ฐ์?
๋ฃจํ๋ ๊ฐ๋ฐ์๊ฐ ์ฝ๋๋ฅผ ์ฌ๋ฌ ๋ฒ ์คํํ ์ ์๊ฒ ํ์ฌ, ๋ฐฐ์ด์ ๋ฐ๋ณตํ๊ฑฐ๋ ๋ฐ๋ณต์ ์ธ ์์ ์ ์ํํ๋ ์์ ์ ๊ฐ๋จํ๊ฒ ๋ง๋ญ๋๋ค. ํนํ while loops๋ ๋ฐ๋ณต ํ์๊ฐ ๋ฏธ๋ฆฌ ์ ํด์ง์ง ์์ ์๋๋ฆฌ์ค์์ ์ ์ฐ์ฑ์ ์ ๊ณตํฉ๋๋ค.
์ฅ๋จ์
์ฅ์ | ๋จ์ |
---|---|
๋ฐ๋ณต ์์ ์ ๊ฐ์ํ | ์ ์ดํ์ง ์์ผ๋ฉด ๋ฌดํ ๋ฃจํ๋ก ์ด์ด์ง ์ ์์ |
์กฐ๊ฑด์ ๋ฐ๋ฅธ ์ ์ฐ์ฑ ์ ๊ณต | ๊ณ ์ ๋ ๋ฐ๋ณต ํ์์๋ ๋ ์ง๊ด์ ์ |
๋์ ์กฐ๊ฑด์ด ์๋ ์๋๋ฆฌ์ค์ ์ ์ฉํจ | for loops์ ๋นํด ์ฝ๊ณ ์ ์ง๋ณด์ํ๊ธฐ ์ด๋ ค์ธ ์ ์์ |
While Loops๋ฅผ ์ธ์ ์ฌ์ฉํ ๊น?
While loops๋ ๋ค์๊ณผ ๊ฐ์ ๊ฒฝ์ฐ์ ์ด์์ ์ ๋๋ค:
- ๋ฐ๋ณต ํ์๊ฐ ๋ฏธ๋ฆฌ ์๋ ค์ง์ง ์์ ๊ฒฝ์ฐ.
- ์กฐ๊ฑด์ด ๋ฃจํ์ ๊ณ์ ์คํ์ ๊ฒฐ์ ํ๋ ๊ฒฝ์ฐ.
- ๋ฃจํ์ ์คํ ํ๋ฆ์ ๋ ์ธ๋ฐํ๊ฒ ์ ์ดํ ํ์๊ฐ ์๋ ๊ฒฝ์ฐ.
While Loops ์ดํดํ๊ธฐ
While Loop์ด๋?
while loop์ ์ง์ ๋ ์กฐ๊ฑด์ด true
๋ก ํ๊ฐ๋๋ ๋์ ์ฝ๋ ๋ธ๋ก์ ๋ฐ๋ณต์ ์ผ๋ก ์คํํฉ๋๋ค. ๋ฐ๋ณต ํ์๊ฐ ์๋ ค์ง์ง ์๊ณ ๋ฐํ์ ์ค ๋์ ์กฐ๊ฑด์ ๋ฐ๋ผ ๋ฌ๋ผ์ง ๋ ํนํ ์ ์ฉํฉ๋๋ค.
๊ธฐ๋ณธ ๊ตฌ์กฐ:
1 2 3 4 |
while (condition) { // ์คํํ ์ฝ๋ } |
While Loop vs. For Loop
while๊ณผ for loops์ ์ฝ๋ ๋ธ๋ก์ ๋ฐ๋ณตํ๋ ๋ชฉ์ ์ ๊ฐ์ง๊ณ ์์ง๋ง, ๊ตฌ์กฐ์ ์ผ๋ฐ์ ์ธ ์ฌ์ฉ ์ฌ๋ก์์ ์ฐจ์ด๊ฐ ์์ต๋๋ค.
ํน์ง | While Loop | For Loop |
---|---|---|
์ด๊ธฐํ | ๋ฃจํ ์ ์ ์ํ๋จ | ๋ฃจํ ์ ์ธ ๋ด์์ ์ํ๋จ |
์กฐ๊ฑด ๊ฒ์ฌ | ์ฒ์์ | ์ฒ์์ |
์ฆ๊ฐ/๊ฐ์ | ์๋์ผ๋ก, ๋ฃจํ ๋ด์์ | ์๋์ผ๋ก, ๋ฃจํ ์ ์ธ์ ์ผ๋ถ๋ก |
์ผ๋ฐ์ ์ธ ์ฌ์ฉ ์ฌ๋ก | ๋ฐ๋ณต ํ์๊ฐ ์๋ ค์ง์ง ์์ ๊ฒฝ์ฐ | ๋ฐ๋ณต ํ์๊ฐ ๋ฏธ๋ฆฌ ์ ํด์ง ๊ฒฝ์ฐ |
๋ฌธ๋ฒ ๋ณต์ก์ฑ | ๋ณต์กํ ์กฐ๊ฑด ๋ก์ง์ ๋ ๋จ์ํจ | ๊ณ ์ ๋ ๋ฐ๋ณต ํ์์ ๋ํด ๋ ๊ฐ๊ฒฐํจ |
JavaScript์์ While Loops ๊ตฌํํ๊ธฐ
While Loops์ ๊ธฐ๋ณธ ๋ฌธ๋ฒ
while loop์ ์ธ ๊ฐ์ง ์ฃผ์ ๊ตฌ์ฑ ์์๋ฅผ ๊ฐ์ง๊ณ ์์ต๋๋ค:
- ์ด๊ธฐํ: ๋ฃจํ๊ฐ ์์๋๊ธฐ ์ ์ ์์ ๋ณ์๋ฅผ ์ค์ ํฉ๋๋ค.
- ์กฐ๊ฑด: ๋ฃจํ์ ๊ณ์ ์คํ ์ฌ๋ถ๋ฅผ ๊ฒฐ์ ํฉ๋๋ค.
- ์ฆ๊ฐ/๊ฐ์: ๋ฃจํ์ ์ข ๋ฃ์ ์ ๊ทผํ๊ธฐ ์ํด ์์ ๋ณ์๋ฅผ ์ ๋ฐ์ดํธํฉ๋๋ค.
์์ :
1 2 3 4 5 6 |
let i = 0; // ์ด๊ธฐํ while (i < 5) { // ์กฐ๊ฑด console.log(i); i++; // ์ฆ๊ฐ } |
์ถ๋ ฅ:
1 2 3 4 5 6 |
0 1 2 3 4 |
์ผ๋ฐ์ ์ธ ๋ฌธ์ ์ ๊ณผ ํด๊ฒฐ์ฑ
- ๋ฌดํ ๋ฃจํ: ๋ฃจํ์ ์ข
๋ฃ ์กฐ๊ฑด์ด ์ ๋ ์ถฉ์กฑ๋์ง ์์ ๋ ๋ฐ์ํฉ๋๋ค.
ํด๊ฒฐ์ฑ : ๋ฃจํ์ ์กฐ๊ฑด์ด ๊ฒฐ๊ตญfalse
๋ก ํ๊ฐ๋๋๋ก ๋ณด์ฅํ์ธ์. ํญ์ ๋ฃจํ ๋ด์์ ๋ฃจํ ๋ณ์๋ฅผ ์ ๋ฐ์ดํธํ์ธ์. - ๋ณ์ ๋ฒ์ ๋ฌธ์ : ๋ฃจํ ๋ณ์๋ฅผ ๋ถ์ ์ ํ ๋ฒ์๋ก ์ ์ธํ๋ฉด ์์์น ๋ชปํ ๋์์ด ๋ฐ์ํ ์ ์์ต๋๋ค.
ํด๊ฒฐ์ฑ : ์ ์ ํ ๋ณ์ ์ ์ธ(let
๋๋const
)์ ์ฌ์ฉํ์ฌ ๋ฒ์๋ฅผ ์ ํํ๊ณ ์๋ํ์ง ์์ ๋ถ์์ฉ์ ๋ฐฉ์งํ์ธ์.
์ค์ฉ์ ์ธ ์์
๋ฐฐ์ด์ ํตํ ๋ฐ๋ณต
for loop์ ์ฌ์ฉํ์ฌ ๋ฐฐ์ด์ ๋ฐ๋ณตํ๋ ์์ ๋ฅผ while loop์ผ๋ก ๋ณํํด ๋ณด๊ฒ ์ต๋๋ค.
For Loop ์์ :
1 2 3 4 5 6 |
let names = ['Alice', 'Bob', 'Charlie', 'David', 'Eve']; for (let i = 0; i < names.length; i++) { console.log(names[i]); } |
While Loop ๋ณํ:
1 2 3 4 5 6 7 8 |
let names = ['Alice', 'Bob', 'Charlie', 'David', 'Eve']; let i = 0; // ์ด๊ธฐํ while (i < names.length) { // ์กฐ๊ฑด console.log(names[i]); i++; // ์ฆ๊ฐ } |
์ค๋ช :
- ์ด๊ธฐํ:
let i = 0;
์ ์์์ ์ ์ค์ ํฉ๋๋ค. - ์กฐ๊ฑด:
i < names.length;
๋i
๊ฐ ๋ฐฐ์ด ๋ฒ์ ๋ด์ ์๋ ํ ๋ฃจํ๊ฐ ์คํ๋๋๋ก ํฉ๋๋ค. - ์ฆ๊ฐ:
i++;
๋ ๋ฃจํ ๋ณ์๋ฅผ ์ ๋ฐ์ดํธํ์ฌ ๋ค์ ์์๋ก ์ด๋ํฉ๋๋ค.
์ถ๋ ฅ:
1 2 3 4 5 6 |
Alice Bob Charlie David Eve |
๋ณ์ ๋ฒ์ ๊ด๋ฆฌ
๋ฃจํ ๋ด ๋ณ์์ ๋ฒ์๋ฅผ ์ดํดํ๋ ๊ฒ์ ๋ฒ๊ทธ๋ฅผ ๋ฐฉ์งํ๋ ๋ฐ ์ค์ํฉ๋๋ค.
๋ณ์ ๋ฒ์ ๋ฌธ์ :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
let i = 0; while (i < 5) { console.log(i); i++; } console.log(`Final value of i: ${i}`); // ์ถ๋ ฅ: Final value of i: 5 // i๋ฅผ ์ฌ์ด๊ธฐํํ์ง ์๊ณ ๋ ๋ฒ์งธ ๋ฃจํ ์๋ while (i < 10) { console.log(i); i++; } |
๊ฒฐ๊ณผ:
1 2 3 4 5 6 7 |
0 1 2 3 4 Final value of i: 5 |
๋ ๋ฒ์งธ ๋ฃจํ๋ i
๊ฐ ์ด๋ฏธ 5
์ด๊ธฐ ๋๋ฌธ์ ์คํ๋์ง ์๊ฑฐ๋, ๋
ผ๋ฆฌ์ ๋ฐ๋ผ ์๋์น ์์ ๋์์ด ๋ฐ์ํ ์ ์์ต๋๋ค.
ํด๊ฒฐ์ฑ : ๋ฃจํ ๋ณ์๋ฅผ ์ ์ ํ ์ฌ์ด๊ธฐํํ๊ฑฐ๋ ๋ฆฌ์ ํ์ธ์.
1 2 3 4 5 6 7 |
let i = 0; // ์ฌ์ด๊ธฐํ while (i < 10) { console.log(i); i++; } |
์ถ๋ ฅ:
1 2 3 4 5 6 7 8 9 10 11 |
0 1 2 3 4 5 6 7 8 9 |
์ต๊ณ ์ ์ค์ฒ ๋ฐฉ๋ฒ
- ํญ์ ๋ฃจํ ๋ณ์๋ฅผ ์ด๊ธฐํํ์ธ์: ๋ฃจํ์ ๋ค์ด๊ฐ๊ธฐ ์ ์ ๋ฃจํ ๋ณ์๊ฐ ์ ์ ํ ์ด๊ธฐํ๋์๋์ง ํ์ธํ์ธ์.
- ๋ฃจํ ์ข ๋ฃ๋ฅผ ์ ์ดํ์ธ์: ๋ฌดํ ๋ฃจํ๋ฅผ ๋ฐฉ์งํ๊ธฐ ์ํด ๋ฃจํ๋ฅผ ์ข ๋ฃํ ์กฐ๊ฑด์ ๋ช ํํ๊ฒ ์ ์ํ์ธ์.
- ์ค๋ช ์ ์ธ ๋ณ์ ์ด๋ฆ์ ์ฌ์ฉํ์ธ์: ์๋ฏธ ์๋ ๋ณ์ ์ด๋ฆ์ ์ฌ์ฉํ์ฌ ์ฝ๋ ๊ฐ๋ ์ฑ์ ํฅ์์ํค์ธ์.
- ๋ณ์ ๋ฒ์๋ฅผ ์ ํํ์ธ์:
let
๋๋const
๋ฅผ ์ฌ์ฉํ์ฌ ๋ณ์๋ฅผ ๋ฃจํ ๋ด๋ก ์ ํํ๊ณ ์๋ํ์ง ์์ ์กฐ์์ ๋ฐฉ์งํ์ธ์. - ๊ณ ์ ๋ ๋ฐ๋ณต์๋ for loops๋ฅผ ์ ํธํ์ธ์: ๋ฐ๋ณต ํ์๊ฐ ์๋ ค์ง ๊ฒฝ์ฐ,
for
๋ฃจํ๊ฐ ๋ ๊ฐ๊ฒฐํ๊ณ ์ฝ๊ธฐ ์ฝ์ต๋๋ค.
๊ฒฐ๋ก
JavaScript์์ while loops์ ๋ง์คํฐํ๋ฉด ๋ฐ๋ณต ํ์๊ฐ ๋ฏธ๋ฆฌ ์ ํด์ง์ง ์๊ณ ์กฐ๊ฑด์ด ๋ฃจํ ์คํ์ ์ข์ฐํ๋ ์๋๋ฆฌ์ค๋ฅผ ์ฒ๋ฆฌํ ์ ์์ต๋๋ค. While loops์ ์ ์ฐ์ฑ๊ณผ ์ ์ด๋ ฅ์ ์ ๊ณตํ์ฌ ๋์ ํ๋ก๊ทธ๋๋ฐ ์ํฉ์์ ํ์์ ์ ๋๋ค. ๊ทธ๋ฌ๋ ๋ฃจํ ๋ณ์์ ์กฐ๊ฑด์ ์ ์คํ๊ฒ ๊ด๋ฆฌํ์ฌ ์ฝ๋ ํจ์จ์ฑ์ ์ ์งํ๊ณ ๋ฌดํ ๋ฃจํ์ ๊ฐ์ ๋ฌธ์ ๋ฅผ ๋ฐฉ์งํ๋ ๊ฒ์ด ์ค์ํฉ๋๋ค.
while๊ณผ for loops์ ์ฐจ์ด๋ฅผ ์ดํดํ๊ณ ์ต๊ณ ์ ์ค์ฒ ๋ฐฉ๋ฒ์ ๊ตฌํํจ์ผ๋ก์จ, ๋ ํจ๊ณผ์ ์ด๊ณ ์ ์ง๋ณด์๊ฐ ์ฉ์ดํ JavaScript ์ฝ๋๋ฅผ ์์ฑํ ์ ์์ต๋๋ค.
SEO ํค์๋: while loops in JavaScript, JavaScript loop examples, for loop vs while loop, JavaScript iteration, JavaScript programming, loop variable scope, preventing infinite loops, JavaScript best practices
์ถ๊ฐ ์๋ฃ
- Mozilla Developer Network (MDN) - While Loop
- JavaScript Loops Tutorial
- Understanding JavaScript Variable Scope
์ฐธ๊ณ : ์ด ๊ธฐ์ฌ๋ AI์ ์ํด ์์ฑ๋์์ต๋๋ค.