자바스크립트 반복문
반복문은 반복적으로 실행해야하는 코드가 있을 때 사용한다.
처음에 for in문과 for of문을 접했을 때는 생긴게 비슷해서 누가 어떤때 쓰는 거였지..하고 헷갈렸었다. 지금은 헷갈리진 않지만 한번 정리하고 가면 좋을 것 같아서 다른 반복문들과 정리해보았다.
- for
- for in
- for of
- forEach() - (Array 메소드)
- while
- do while
가장 일반적인 for문의 형태는 다음과 같다.
console.log(i)를 총 10번 반복하는 반복문이다.
for(let i = 0; i<10; i++){
console.log(i);
}
for in문은 object 에 사용할 수 있는 반복분이다.
배열에도 사용할 수 있지만 배열 반복에는 추천되지 않는다.
const obj = {
name : '이름',
age : '나이'
}
for(const key in obj){
console.log(key); // key값 출력
console.log(obj.name, obj.age); // value 값 출력
console.log(`key 값 : ${key}`); // 1. key값 : 이름 // 2. key값 :age
console.log(`value 값 : ${obj[key]}`); // 1. value 값 : 이름 // 2. value값 : 나이
}
객체의 모든 value값을 얻으려면 obj[key]로 객체를 순회하여 얻을 수 있다.
for of문은 반복 가능한 객체(Array, Map, Set, String, TypedArray, arguments 객체 등 포함)에 대해 사용할 수 있다. 보통은 Array(배열)에 사용한다고 흔히 알려져 있다.
const array = ['1번', '2번', '3번'];
for(const element of array) {
console.log(element); // 배열[0] ~ 끝까지 순차적 출력
console.log(array); // 배열 전체 출력
}
배열에 들어있는 0번째~마지막 번째 요소까지 순차적으로 출력된다.
배열안에 있는 요소를 꺼내쓸 때 사용하면 좋다.
배열에 사용되는 메서드이다. 인자에 콜백함수를 넣어 사용한다.
const array = ['1번', '2번', '3번'];
array.forEach((element)=>{
console.log(element);
})
while
조건이 참이면 실행되는 반복문이다. 이전에 살펴본 for문처럼 반복 실행을 해준다.
while(condition) {
// condition이 참이면 실행
}
앞에서 살펴본 while과는 달리 do{}에 작성된 코드는 최소 1번 실행된다는 것이다.
최소 1번 실행 후, while 조건이 false인 경우 더이상 실행되지 않는다.
do {
// 거짓이더라도
//do에 작성된 코드는 무조건 1회는 실행
}while(condition)