지토의 개발일기/React
[React] JavaScript ( for .. of 와 for ..in 의 차이점) (기초문법)
지아토
2021. 5. 26. 02:41
React를 공부하기 전에 정보들을 찾아보니 ES6문법을 알아야 React를 사용하기에 수월하다는 글을 보았다.
React는 ES6 피처를 사용해 만들어졌기 때문에 ES6를 학습하면 React 코드를 잘 이해할 수 있다고 한다.
간략하게 공부하고 있는 기초 문법에 대해 이야기 해보고자 한다.
For in vs for of 차이점.
위에 예시를 보자.
for in을 썼을 경우 .
var obj = {
a: 1,
b: 2,
c: 3
};
for (var item in obj) {
console.log(item) // a, b, c
}
//위에 사진의 경우 abc가 출력이됨.
반면 for of를 사용했을 경우
var obj = {
a: 1,
b: 2,
c: 3
};
for (var item of obj) {
console.log(item) // Uncaught TypeError: obj is not iterable
}
//에러가 발생합니다.
에러가 발생합니다.
for of를 사용한 예시를 보면.
let array = [10,20,30,40];
for (let val of array){
console.log(val);
}
// 10,20,30,40 출력이 됨.
반면
for in을 사용했을 경우 .
var array = [10, 20, 30, 40];
for (var item in array) {
console.log(item);
// 0, 1, 2, 3 이 출력
}
0,1,2,3이 출력되는 이유는 자바스크립트에서는 배열도 객체이기 때문에 그 객체의 키값이 출력이 되게 된다.!
정리를 해서 말하자면
for in // 객체 순환
for of // 배열 순환
이라고 말할 수 있겠다.