파이썬을 먼저 배운 나에게는 for ... in 이 훨씬 익숙하다.
그런데 자바스크립트에서는 일반적으로 for .. in을 거의 사용하지 않고 for .. of를 더 많이 사용한다고 해서 두 문법을 비교해보았다.
// for .. of
- Iterable 객체(Array, String, Map, Set 등)의 값들을 순회한다.
- 배열의 요소들을 순회할 때 특히 자주 사용한다.
const animals = ['rabbit', 'tiger', 'lion'];
for (const animal of animals) {
console.log(animal);
}
// === 결과 ===
// rabbit
// tiger
// lion
// for .. in
- 객체의 모든 속성을 순회한다.
- 객체의 키를 순회할 때 주로 사용한다.
const testScores = {
a: 80,
b: 70,
c: 100
};
for (let person in testScores) {
console.log(`${person} scored ${testScores[person]}`);
}
// === 결과 ===
// a score 80
// b score 70
// c score 100
※ 정리
객체의 키와 값에 접근할 때는 for .. in 을,
배열이나 다른 iterable 객체의 요소에 접근할 때는 for .. of 를 사용한다.
★ 배열에 접근할 때는 배열의 인덱스 외에도 추가적인 속성까지 접근할 수 있으므로 for .. in을 사용하지 않는 것이 좋다.
'클라이언트 > JavaScript' 카테고리의 다른 글
[자바스크립트(JavaScript)] 배열 메서드 (1) | 2023.11.21 |
---|---|
[자바스크립트(JavaScript)] This(일반 함수 vs 화살표 함수) (1) | 2023.11.17 |
[자바스크립트(JavaScript)] == vs === (1) | 2023.11.13 |
[자바스크립트(JavaScript)] Template Literals(템플릿 리터럴) (0) | 2023.11.13 |
JSON (0) | 2023.05.04 |