es6 for in
2018-03-21
var data = [1, 2, undefined, NaN, null, ""];
for(let idx in data){
console.log(data[idx]); // 1, 2, undefined, NaN, null, ""
}
for in은 주로 객체(object)를 순회할때 사용한다.
하지만 배열도 객체의 일종이기 때문에 순회가 가능하다.
for in을 사용했을 경우 자기 자신이 가지고 있지 않은 상위의 추가된 값 까지도 출력한다는 단점을 가지고 있다.
var data = [1, 2, undefined, NaN, null, ""];
Array.prototype.getIndex = function(){};
for(let idx in data){
console.log(data[idx]); // 1, 2, undefined, NaN, null, "", function(){}
}
// function까지 출력된다
따라서 배열은 for in을 사용해서 순회하는 방법은 피하고 for of를 사용해서 순회하자.
var data = [1, 2, undefined, NaN, null, ""];
Array.prototype.getIndex = function(){};
for(let value of data){
console.log(value); // 1, 2, undefined, NaN, null, ""
}
String을 Char 단위로 순회하려 할때도 유용하게 사용 가능하다.