[JavaScript] 반복문 (for in / for of)

Lpla

·

2020. 11. 24. 00:47

반응형

1. for문

let data = [1, 2, undefined, NaN, null, ""]
for(let i=0; i<data.length; i++) {
  console.log(data[i]); // 1, 2, undefined, NaN, null, ""
}

2. while문

let data = [1, 2, undefined, NaN, null, ""]
let value = 0;
while(value < data.length) {
    console.log(data[value]); // 1, 2, undefined, NaN, null, ""
    value++;
}

3. forEach문 (엄밀히 말해 forEach는 반복문이 아니다.)

let data = [1, 2, undefined, NaN, null, ""]
data.forEach(function(value){
  console.log(value); // 1, 2, undefined, NaN, null, ""
})

4. for in

let data = [1, 2, undefined, NaN, null, ""]
for(let value in data){
  console.log(data[value]); // 1, 2, undefined, NaN, null, ""
}

5. for of

let data = [1, 2, undefined, NaN, null, ""]
for(let value of data){
  console.log(value); // 1, 2, undefined, NaN, null, ""
}

6. for in과 for of의 차이

let data = [1, 2, undefined, NaN, null, ""]
Object.prototype.objCustom = function () {};
Array.prototype.arrCustom = function () {};

for (var value in data) {
  console.log(value); // 0, 1, 2, 3, 4, 5, "arrCustom", "objCustom"
}

for (var value of data) {
  console.log(value); // 1, 2, undefined, NaN, null, ""
}

for in은 열거할 수 있는 프로퍼티(enumerable properties)를 순회한다. 여기에는 프로토타입 체인도 포함된다.

for of는 반복할 수 있는 객체(iterable objects)를 순회한다.

반응형