๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐Ÿ–ฅ๏ธํ”„๋ก ํŠธ์—”๋“œ/HTML | CSS | JAVASCRIPT

์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ - for in๊ณผ for of ์ฐจ์ด์ 

by Janger 2022. 7. 30.
728x90
๋ฐ˜์‘ํ˜•

 

์ƒ๊น€์ƒˆ

 

var arr = [2, 5, 7, 9, 12];

// for in
for(const item in arr){
	console.log(item);
}

// for of
for(const item of arr){
	console.log(item)
}

์ƒ๊น€์ƒˆ๋Š” ์ด๋ ‡๊ฒŒ ์ƒ๊ฒผ์Šต๋‹ˆ๋‹ค. 

 

๋‘˜ ๋‹ค ๋„ˆ๋ฌด ๋˜‘๊ฐ™์ด ์ƒ๊ฒจ์„œ ๊ฐ€๋” ์‚ฌ์šฉํ•˜๋ ค๊ณ  ํ•  ๋•Œ๋งˆ๋‹ค ํ˜ผ๋ž€์ด ์ƒ๊น๋‹ˆ๋‹ค. 

์ง€๊ธˆ๋ถ€ํ„ฐ ์ด๋Ÿฐ ์‹์œผ๋กœ ์™ธ์šฐ์‹œ๋ฉด ๋ฉ๋‹ˆ๋‹ค. 

 

for in์€ ๊ฐ์ฒด(ํ‚ค ๊ฐ’) ์ˆœํ™˜

for of์€ ๋ฐฐ์—ด ์ˆœํ™˜

 

์ฐธ๊ณ ๋กœ ์ƒ๋‹จ ์ฝ”๋“œ์˜ ์‹คํ–‰ ๊ฒฐ๊ณผ๋Š” ์ด๋ ‡์Šต๋‹ˆ๋‹ค. 

// for in
0 1 2 3 4

// for of
2 5 7 9 12

for of๋Š” ๋ฐฐ์—ด์˜ ๊ฐ’์„ ์ˆœ์„œ๋Œ€๋กœ ์ž˜ ์ถœ๋ ฅํ•˜๋Š” ๋ฐ˜๋ฉด์— for in์€ 0, 1, 2, 3 ๊ฐ™์€ ์ˆซ์ž์˜ ์ˆœํ™˜์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค. 

๋ฐ”๋กœ ๋ˆˆ์น˜์ฑˆ ์‚ฌ๋žŒ๋„ ์žˆ๊ฒ ์ง€๋งŒ ์ € ์ˆซ์ž๋“ค์€ index์ด๋ฉฐ ์ฆ‰ ๋ฐฐ์—ด์˜ ํ‚ค ๊ฐ’๋“ค์„ ๋ฆฌํ„ดํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค.. 

 

 

๋ฐฐ์—ด๋„ ๊ฐ์ฒด์ด๊ธฐ ๋•Œ๋ฌธ์— ํ‚ค ๊ฐ’์ธ 0, 1, 2, 3... ๋“ฑ์„ ๋ฐ˜ํ™˜ํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค. 

 

๋‹ค๋ฅธ ๊ฐ์ฒด ์˜ˆ์‹œ๋ฅผ ์‚ดํŽด๋ณด๋ฉด

const object = { a: 1, b: 2, c: 3 };

for (const property in object) {
  console.log(`${property}: ${object[property]}`);
}

์ด๋Ÿฐ ํ˜•ํƒœ์˜ ๊ฐ์ฒด๋ฅผ for in์„ ํ†ตํ•ด์„œ ์ถœ๋ ฅํ•˜๊ฒŒ ๋˜๋ฉด 

 

"a: 1"
"b: 2"
"c: 3"

๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ํ‚ค ๊ฐ’์„ ๊ฐ€์ ธ์™€ ์ฐธ์กฐํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋ฐฐ์—ด์˜ ๋‚ด์šฉ์„ ํ•จ๊ป˜ ์ถœ๋ ฅ์ด ๋ฉ๋‹ˆ๋‹ค. 

 

 

 

 

reference: 

https://velog.io/@eomttt/for-...in-for-...of-%EC%B0%A8%EC%9D%B4

 

for ...in, for ...of ์ฐจ์ด

์ž์ฃผ ํ—ท๊ฐˆ๋ฆฌ๋Š”๊ฒŒ ์žˆ์–ด์„œ ํ•œ๋ฒˆ ํฌ์ŠคํŒ…ํ•ด๋ด…๋‹ˆ๋‹ค.๋ฐ”๋กœ ๋ฐ˜๋ณต๋ฌธ ์ค‘์— ES6 ๋ถ€ํ„ฐ ์ถ”๊ฐ€ ๋œfor ...infor ...of์ž…๋‹ˆ๋‹ค.๋‘˜๋‹ค ๋ฐ˜๋ณต๋ฌธ์œผ๋กœ ์‚ฌ์šฉ ๋˜๋Š”๋ฐ์š” ํ•˜๋‚˜๋Š” ๊ฐ์ฒด๋ฅผ ํƒ์ƒ‰ํ•˜๊ณ  ๋‚˜๋จธ์ง€ ํ•˜๋‚˜๋Š” ๋ฐฐ์—ด ์š”์†Œ๋ฅผ ํƒ์ƒ‰

velog.io

https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Statements/for...in

 

for...in - JavaScript | MDN

for...in๋ฌธ์€ ์ƒ์†๋œ ์—ด๊ฑฐ ๊ฐ€๋Šฅํ•œ ์†์„ฑ๋“ค์„ ํฌํ•จํ•˜์—ฌ ๊ฐ์ฒด์—์„œ ๋ฌธ์ž์—ด๋กœ ํ‚ค๊ฐ€ ์ง€์ •๋œ ๋ชจ๋“  ์—ด๊ฑฐ ๊ฐ€๋Šฅํ•œ ์†์„ฑ์— ๋Œ€ํ•ด ๋ฐ˜๋ณตํ•ฉ๋‹ˆ๋‹ค. (Symbol๋กœ ํ‚ค๊ฐ€ ์ง€์ •๋œ ์†์„ฑ์€ ๋ฌด์‹œํ•ฉ๋‹ˆ๋‹ค.)

developer.mozilla.org

 

728x90
๋ฐ˜์‘ํ˜•