Javascript : 객체와 배열의 반복문(for..in 반복문과 for..of 반복문의 차이)
by 담담이담
1. 객체의 for..in 반복문
for (변수 in 객체){
동작부분
}
이런 식으로 작성하면
변수에 객체의 Property Name이 할당된다.
for (let i in ewha){
console.log(i)
}
for (let i in ewha){
console.log(ewha[i])
}
// 결과값
name
bornYear
isVeryNice
worstThing
이화여자대학교
1886
true
null
대괄호 표기법을 이용해서 위처럼 Property Value에도 접근할 수 있다.
2. 배열의 for..of 반복문
사실 굳이 for..of 반복문을 사용하지 않아도,
배열의 length property를 이용해서 배열의 각 요소를 다룰 수 있다.
하지만 for..of를 사용하면 더욱 간단하게 활용할 수 있다.
구조는 다음과 같다.
for (변수 of 배열){
동작부분;
}
for..in문과의 차이점?
for..in문은 변수에 객체의 Property Name이 할당 됐지만,
for..of문은 변수에 배열의 요소 하나하나가 할당된다.
let family = ['엄마', '아빠', '오빠', '나'];
for (let i of family){
console.log(i)
}
// 결과값
엄마
아빠
오빠
나
Question?
근데 배열도 객체라며?
그럼 그냥 배열에서도
for..in문 사용해도 되는 거 아니야?
let family = ['엄마', '아빠', '오빠', '나'];
for (let i in family){
console.log(family[i])
}
// 결과값
엄마
아빠
오빠
나
for..in 문에서는 변수 자리에 Property Name이 들어가기에
배열의 경우 인덱스가 Property Name이 된다.
이런 방식으로 for..in문을 이용해 각 요소들을 얻을 수도 있지만,
for..in문은 모든 Property들을 기준으로 동작하기에
인덱스 Property 뿐만 아니라 다른 Property들도 변수에 할당될 가능성이 있다.
결론
for..in문은 일반적인 객체에 최적화되어있기에
배열에서는 사용하지 않는 걸 추천한다.
'Javascript' 카테고리의 다른 글
Javascript : window(브라우저)와 dom (0) | 2023.09.25 |
---|---|
Javascript : document 프로퍼티를 이용해 태그 선택하기 (0) | 2023.09.25 |
Javascript : 객체의 property 삭제와 배열의 요소 삭제 방법 차이 (0) | 2023.09.20 |
Javascipt : 숫자형 메소드 (0) | 2023.09.20 |
Javascript : 자동 형변환 (0) | 2023.09.19 |
블로그의 정보
유명한 담벼락
담담이담