for문에서 loop 변수를 선언할 때 3가지 방법이 있다.
// 1. const
for (const item of arr) ...
// 2. let
for (let item of arr) ...
// 3. 생략
for (item of arr) ...
어떤 상황에서 어떻게 선언하는 것이 바람직할까? 이유는?
const arr = [1, 2, 3];
for (const num of arr) {
console.log(num); // 블록 범위, 반복문 내에서 재할당 불가능.
}
const arr = [1, 2, 3];
for (let i = 0; i < arr.length; i++) {
arr[i] = arr[i] * 2; // i는 블록 범위, 반복문 내에서 재할당되고 있음.
}
console.log(arr); // [2, 4, 6]
const arr = [1, 2, 3];
for (i = 0; i < arr.length; i++) {
console.log(arr[i]); // 똑같이 작동하겠지만, 전역변수로 생성되기 때문에, 반복문 외부에서 접근가능해진다.
}