자주 사용하는 loop문.
무턱대로 for문만 사용하면 바보 인 걸 증명함.
What is 객체(object)
-> { javascript : '이게 맞나' }
What is 배열(array)
-> [ ]
정확히는 이터러블(iterable)(배열도 그 일종이라고 함) 에 사용됨. ( 아 문자열도 )
for in도 사용할수 있는데, key 값이 나옴
얘는 기본 원본 배열을 바꾸지 않아 안전하다(즉 필요한 다른 배열이 있다면 새로 만들어 사용한다)
일반적인 for 문을 사용한다면 실제 배열에 접근해 원본 내용이 변경됨.
의도적으로 한거라면 그러려니하지만 고급으로 사용할수록 원본은 건들지 말긔
// for of를 이용한 원본 배열 지키기
const numbers1 = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
const numbers2 = [];
for (let num of numbers1) {
num++; // ⚠️ 복사된 값. let 사용 주목
numbers2.push(num + 1);
}
console.log(numbers1, numbers2);
// 기본 for 문은 원본 배열을 바꾼다. 덜덜
for (let i = 0; i < numbers1.length; i++) {
numbers1[i]++; // ⚠️ 실제 값에 인덱스로 접근 - 원본 배열의 내용 변경
}
console.log(numbers1, numbers2);