자바스크립트에서 loop를 실행하면, 코드 블럭을 여러번 실행할 수 있게 해준다.
구문 | 사용법 |
---|---|
for | 코드 블록을 여러 번 반복 |
for/in | 객체의 속성을 따라 반복 |
while | 지정된 조건이 true인 동안 코드 블록을 반복 |
do/while | do/while 루프는 while루프의 변형이다. 이 루프는 조건이 true인지 검사하기 전에, 코드 블록을 한 번 실행한다. 그리고 나서 조건이 true인 동안 루프를 반복한다. |
전통적인 for 반복문은 초기화, 조건, 및 반복 후 동작의 세 부분으로 구성된다.
for (let i = 0; i < 5; i++) {
console.log(i); // 0, 1, 2, 3, 4가 출력됩니다.
}
for (let i = 0; i < 10; i++) {
if (i === 3) {
console.log('It is 3');
continue; // loop문을 계속한다.
}
if (i ===5) {
console.log('5 Stop the loop');
break; // loop문을 탈출한다.
}
console.log('Number ' + i);
}
/*
Number 0
Number 1
It is 3
Number 4
5 Stop the loop
*/
객체의 속성에 대해 반복한다. 주로 객체의 key를 순회할 때 사용된다.
const obj = {
firstName: 'John',
lastName: 'Doe'
};
for (let key in obj) {
console.log(key); // firstName, lastName
}
const user = {
name: 'Han',
province: '경기도',
city: '성남시'
}
for (let x in user) {
consle.log(`${x} : ${user[x]}`);
}
/*
name : Han
province : 경기도
ciry : 성남시
*/
반복 가능한 객체 (예: 배열, 문자열, Set 등)의 값을 반복한다.
const fruits = ['apple', 'banana', 'cherry'];
for (let fruit of fruits) {
console.log(fruit); // apple, banana, cherry
}
조건이 참인 동안 반복한다.
let i = 0;
while (i < 5) {
console.log(i); // 0, 1, 2, 3, 4
i++;
}
루프의 본문을 최소 한 번 실행한 후에 조건을 평가한다. 따라서 조건이 처음부터 거짓이더라도 본문은 한 번은 실행된다.
let i = 0;
do {
console.log(i); // 0, 1, 2, 3, 4
i++;
} while (i < 5);
const locations = ['서울', '부산', '경기도', '대구'];
// FOR
for (let i = 0; i < locations.length; i++) {
console.log(locations[i]);
}
/*
서울
부산
경기도
대구
*/
// FOREACH
locations.forEach(function (location, index, array) {
console.log(`${index} : ${location}`);
console.log(array);
});
/*
0: 서울
(4) ['서울', '부산', '경기도', '대구']
1: 부산
(4) ['서울', '부산', '경기도', '대구']
2: 경기도
(4) ['서울', '부산', '경기도', '대구']
3: 대구
(4) ['서울', '부산', '경기도', '대구']
*/
//MAP
locations.map(function (location) {
console.log(location);
});
/*
서울
부산
경기도
대구
*/
각각의 차이점은 다음과 같다.
const arr = [1, 2, 3, 4, 5];
for (let i = 0; i < arr.length; i++) {
console.log(arr[i]);
}
const arr = [1, 2, 3, 4, 5];
arr.forEach(function(item, index) {
console.log(item);
});
차이점
반복문을 사용할 때 주의해야 할 점은 무한 루프를 피하는 것이다. 조건이 항상 참이라면 루프는 끝나지 않게 되고, 프로그램은 응답하지 않게 될 수 있다.
루프의 동작을 제어하기 위해 break와 continue와 같은 키워드를 사용할 수도 있다. break는 루프를 완전히 종료하고, continue는 현재 반복을 종료하고 다음 반복을 시작한다.