[Javascript] ๋ฐ˜๋ณต๋ฌธ

[์›๋ณธ ๋งํฌ]

์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ ๋ฐ˜๋ณต๋ฌธ์—๋Š” while, for, for-in, for-of ๋“ฑ์ด ์กด์žฌํ•œ๋‹ค.

while๋ฌธ
๊ฐ€์žฅ ๊ธฐ๋ณธ์ ์ด๊ณ  ๋‹จ์ˆœํ•œ ๋ฐ˜๋ณต๋ฌธ์ด๋‹ค.
์กฐ๊ฑด์‹์„ ๋ฐ›์•„์„œ ์กฐ๊ฑด์ด true์ธ ๋™์•ˆ์€ ๊ณ„์† ๊ตฌ๋ฌธ์„ ์ˆ˜ํ–‰ํ•œ๋‹ค. image

image


for๋ฌธ
์ผ๋ฐ˜ for๋ฌธ์ด๋‹ค.
for(์ดˆ๊ธฐ์‹; ์กฐ๊ฑด์‹; ์ฆ๊ฐ์‹)์˜ ํ˜•ํƒœ๋กœ ๊ตฌ์„ฑ๋˜๋Š”, while์˜ ๋‹ค๋ฅธ ์ถ•์•ฝํ˜•ํƒœ๋ผ๊ณ  ํ•  ์ˆ˜ ์žˆ๋‹ค.

์ดˆ๊ธฐ์‹์€ ๋ฐ˜๋ณต๋ฌธ ์ˆ˜ํ–‰ ์ „์— ํ•œ๋ฒˆ๋งŒ, ์ฆ๊ฐ์‹์€ ๊ตฌ๋ฌธ์ด ๋๋‚ ๋•Œ๋งˆ๋‹ค ์ˆ˜ํ–‰๋œ๋‹ค. image

image


for-in๋ฌธ
๋ฐฐ์—ด ๋”ฐ์œ„์˜ ๋ณตํ•ฉ๊ฐ’์„ ๋ฐ›์•„ ํ‚ค(key)๋ฅผ ์ˆœํšŒํ•˜๋Š” ํ˜•์‹์˜ ๋ฐ˜๋ณต๋ฌธ์ด๋‹ค.

์•„๋ž˜์˜ ํ˜•์‹์„ ๊ฐ€์ง„๋‹ค.
for(์ˆœํšŒ์ธ๋ฑ์Šค in ๋ณตํ•ฉ๊ฐ’)
**ย ย ย  ๊ตฌ๋ฌธ**

์ฐธ์œผ๋กœ ๊ท€์ฐฎ๊ณ  ๋ถˆํŽธํ•œ๊ฑด, ํ•ด๋‹น ๊ฐ’์„ ์ฃผ๋Š”๊ฒŒ ์•„๋‹ˆ๋ผ ์ธ๋ฑ์Šค๋งŒ ์ค€๋‹ค๋Š” ๊ฑฐ๋‹ค.
์•„๋ž˜๋Š” ํ…์ŠคํŠธ์˜ ๋ฐฐ์—ด์„ ์ˆœํšŒํ•˜๋Š” ๊ฐ„๋‹จํ•œ ์˜ˆ์ œ๋‹ค. image

image


for-of๋ฌธ (ES6)
์ด๊ฑด ์œ„์˜ ๋ฉ์ฒญํ–ˆ๋˜ ์ˆœํšŒ๋ฌธ์„ ๋Œ€์ฒดํ•˜๊ธฐ ์œ„ํ•ด ์ƒˆ๋กœ ๋‚˜์˜จ ์ˆœํšŒ์šฉ ๋ฐ˜๋ณต๋ฌธ์ด๋‹ค.

์ตœ์‹ ๋ฌธ๋ฒ•์ด๋ผ ์“ฐ๋”๋ผ๋„ ๋ธŒ๋ผ์šฐ์ €์— ๋ฐ”๋กœ ์˜๊ธฐ๋Š” ์ข€ ๊ทธ๋ ‡๊ณ , ๋ฐ”๋ฒจ ๋“ฑ์„ ๋Œ๋ฆฌ๋Š”๊ฒŒ ์ข‹๋‹ค.

์—ฌํŠผ ์ด๊ฑด for-in์—์„œ ์ธ๋ฑ์Šค๊ฐ’๋งŒ ๋˜์ ธ์คฌ๋˜๊ฒƒ๊ณผ ๋‹ค๋ฅด๊ฒŒ, ๊ฐ’์„ ๋˜์ ธ์ค€๋‹ค. image

image


forEach ๋ฉ”์„œ๋“œ
๊ฐ€๋” ๋ฌธ๋ฒ•์š”์†Œ๋กœ ์˜คํ•ดํ•˜๋Š” ์‚ฌ๋žŒ๋“ค์ด ์žˆ๋Š”๋ฐ, ์ด๊ฑด ๊ทธ๋ƒฅ ๋ฉ”์„œ๋“œ๋‹ค.
๋ฐฐ์—ด ๋“ฑ์˜ ํƒ€์ž…์— ๊ตฌํ˜„๋˜์–ด์žˆ๋‹ค.

์ธ์ž๋กœ๋Š”, ์ธ์ž๋ฅผ ํ•˜๋‚˜ ๋ฐ›๋Š” ํ•จ์ˆ˜๋ฅผ ๋ฐ›๋Š”๋‹ค.
์ธ์ž๋กœ ์ „๋‹ฌํ•œ ํ•ด๋‹น ํ•จ์ˆ˜์—์„  ์š”์†Œ๊ฐ’์„ ํ•˜๋‚˜์”ฉ ์ˆœ์„œ๋Œ€๋กœ ๋ฐ›์œผ๋ฉฐ ํ•จ์ˆ˜ ๋‚ด์˜ ์ฝ”๋“œ๋ฅผ ์‹คํ–‰ํ•œ๋‹ค. image

image

๊ทธ๋ ‡๋‹ค.


์ฐธ์กฐ
https://jsdev.kr/t/for-in-vs-for-of/2938