๐Ÿ“™ Javascript

[JS] for in๊ณผ for of

JaeBBang 2024. 8. 27. 15:10

๊ฒฐ๋ก ๐Ÿ™†โ€โ™‚๏ธ

 

for...of๋Š” ๋ฐฐ์—ด์˜ ๋ฐ˜๋ณต์—์„œ ์‚ฌ์šฉ 

for...in์€ ๊ฐ์ฒด์˜ ๋ฐ˜๋ณต์—์„œ ์‚ฌ์šฉ

 

 

for...of (Array)
let arr = ["a", "b", "c"]

for(item of arr) {
	console.log(arr); // a, b, c
}
  • ์šฉ๋„: for...of๋Š” ์ดํ„ฐ๋Ÿฌ๋ธ” ๊ฐ์ฒด(iterable objects)๋ฅผ ์ˆœํšŒํ•  ๋•Œ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
  • ๋™์ž‘ ๋ฐฉ์‹: ์ดํ„ฐ๋Ÿฌ๋ธ” ๊ฐ์ฒด์˜ ๊ฐ’(value)๋“ค์„ ์ˆœํšŒํ•ฉ๋‹ˆ๋‹ค.

 

์ดํ„ฐ๋Ÿฌ๋ธ” ๊ฐ์ฒด๋ž€? ๐Ÿคทโ€โ™‚๏ธ

๋ฐ˜๋ณต(iteration) ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฐ์ฒด๋ฅผ ์˜๋ฏธํ•˜๋ฉฐ, ์ฃผ๋กœ ๋ฐฐ์—ด(Array), ๋ฌธ์ž์—ด(String), Map, Set, ๋“ฑ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

 

 

for...in (Object)
let obj = {"a": 1, "b": 2, "c": 3}

for(item in obj) {
	console.log(item); // a, b, c
}
  • ์šฉ๋„: ๊ฐ์ฒด์˜ ์—ด๊ฑฐ ๊ฐ€๋Šฅํ•œ ์†์„ฑ์„ ์ˆœํšŒํ•  ๋•Œ ์‚ฌ์šฉํ•˜๋ฉฐ, ๊ฐ์ฒด(Object)์˜ ํ‚ค(key)๋“ค์„ ์ˆœํšŒํ•˜๋Š” ๋ฐ ์ ํ•ฉํ•ฉ๋‹ˆ๋‹ค.
  • ๋™์ž‘ ๋ฐฉ์‹: ๊ฐ์ฒด์˜ ํ‚ค(key)๋“ค์„ ์ˆœํšŒํ•ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ, ๋ฐฐ์—ด์—์„œ๋„ ์ธ๋ฑ์Šค(index)๋ฅผ ์ˆœํšŒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์ฃผ์˜์ : ๋ฐฐ์—ด์— ์‚ฌ์šฉํ•˜๋ฉด ๋ฐฐ์—ด์˜ ์ธ๋ฑ์Šค๋ฅผ ์ˆœํšŒํ•˜์ง€๋งŒ, ์ˆœ์„œ๊ฐ€ ๋ณด์žฅ๋˜์ง€ ์•Š๊ณ , ๊ฐ์ฒด์˜ ํ”„๋กœํ† ํƒ€์ž… ์ฒด์ธ์— ์žˆ๋Š” ์†์„ฑ๊นŒ์ง€ ์ˆœํšŒํ•  ์ˆ˜ ์žˆ์–ด ์˜ˆ์ƒ์™ธ์˜ ๊ฒฐ๊ณผ๊ฐ€ ๋‚˜์˜ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
๋Œ“๊ธ€์ˆ˜0