๐ 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)๋ฅผ ์ํํ ์ ์์ต๋๋ค.
- ์ฃผ์์ : ๋ฐฐ์ด์ ์ฌ์ฉํ๋ฉด ๋ฐฐ์ด์ ์ธ๋ฑ์ค๋ฅผ ์ํํ์ง๋ง, ์์๊ฐ ๋ณด์ฅ๋์ง ์๊ณ , ๊ฐ์ฒด์ ํ๋กํ ํ์ ์ฒด์ธ์ ์๋ ์์ฑ๊น์ง ์ํํ ์ ์์ด ์์์ธ์ ๊ฒฐ๊ณผ๊ฐ ๋์ฌ ์ ์์ต๋๋ค.