글 작성자: bbangson
반응형

for...of, for...in

둘 의 차이점은 배열 내부를 탐색하느냐, 객체 내부를 탐색하느냐에 대한 차이라고 할 수 있습니다.

 

for of

배열 내부에 접근합니다.

- 이터러블한 객체에 모두 사용 가능합니다. 

- 헷갈리기 쉬운 문법입니다. 헷갈린다면 자바 처럼 일반 for문을 사용하는 것도 괜찮습니다.

const numbers = [10, 20, 30, 40, 50];
for (let number of numbers) {
console.log(number);
}
for (let i=0; i < numbers.length; i++) {
console.log(numbers[i]);
}
// 둘이 같음. 10 20 30 40 50 출력.

 

for in

- 객체 내부에 접근합니다. 

- 모든 프로퍼티에 사용가능합니다.

const doggy = {
name : '멍멍이',
sound: '멍멍',
age : 2
};
for (let key in doggy) {
console.log(key);
// name, sound, age 출력.
console.log(`${key}: ${doggy[key]}`);
// name: 멍멍이, sound: 멍멍, age: 2 출력.
}

 

 

Object 클래스

- 객체 순회 전용입니다. 

const doggy = {
name : '멍멍이',
sound: '멍멍',
age : 2
};
console.log(Object.keys(doggy));
// ["name", "sound", "age"] 출력.
console.log(Object.values(doggy));
// ["멍멍이", "멍멍", 2] 출력.
console.log(Object.entries(doggy));
// [Array[2], Array[2], Array[2]]
/* 0: Array[2]
0: "name"
1: "멍멍이"
1: Array[2]
0: "sound"
1: "멍멍"
...*/

 

 

 

반응형

댓글

댓글을 사용할 수 없습니다.