https://www.w3schools.com/jsref/jsref_foreach.asp <- w3school
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/forEach <- MDN
forEach() -> 배열의 요소마다 내가 ()안에 전달한 함수를 출력
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/for...of <- MDN
https://www.w3schools.com/js/js_loop_forof.asp <- w3school
https://www.w3schools.com/js/js_loop_forin.asp <- w3school
왜 for...in을 사용합니까?
for...in이 객체의 반복을 위해 만들어졌지만, 배열의 반복을 위해서는 추천되지 않고, Array.prototype.forEach(), for...of가 이미 존재합니다. 그러면 for...in은 어떻게 사용하는 것이 좋을까요?
이것은 쉽게 객체의 속성을 확인(콘솔이나 다른 방법으로 출력)할 수 있기 때문에 실질적으로 디버깅을 위해 사용될 수 있습니다. 배열이 데이터의 저장에 있어서는 더 실용적이지만, 키-값 쌍이 선호되는 데이터의 경우(속성이 "key"의 역할을 함) 특정 값을 가진 키가 있는지 확인하려는 경우에 for...in을 사용할 수 있습니다.
객체에 쓸때는 키와 키값에 접근할 수 있음
ex) const person = {fname:"John", lname:"Doe", age:25};
let txt = "";
for (let x in person) {
txt += person[x] + " ";
}
//출력값 -> John Doe 25
for (let x in person) {
txt += x + " ";
}
//출력값 -> fname Iname age
forEach()
배열의 값들을 하나씩 호출하거나 내가전달할 함수를 주고싶을때
for...of
배열의 값들을 하나씩 호출할 때.
for...in
객체의 키에 접근하고 싶을때.
물론 for문만으로 돌려도 된다!