[JS] Loops 반복문

뚜벅맨·2021년 6월 16일
0
post-custom-banner

The For Loop

같은 코드를 반복해서 쓰는 대신에, 반복문을 통해서 컴퓨터에게 주어진 코드 블록을 스스로 반복하도록 지시할 수 있습니다.
컴퓨터에 이러한 지시를 내리는 한 가지 방법은 for문을 사용하는 것입니다.

for문에는 다음과 같은 세 가지 식이 괄호 안에 구분되어 있습니다.

  1. 초기화(initialization)는 반복문을 시작하고 반복자(iterator) 변수를 선언하는 데 사용할 수 있습니다.
  2. stopping condition은 반복 변수가 평가되는 조건입니다. 조건이 참으로 평가되면 코드 블록이 실행되며, 거짓으로 평가되면 코드가 정지합니다.
  3. 반복문은 각 루프에서 반복 변수를 업데이트하는 데 사용됩니다.

for문 구문은 다음과 같습니다.

for (let counter = 0; counter < 3; counter++) {
 console.log(counter);
}

위의 예는 다음과 같이 출력됩니다.

0
1
2
  1. 초기화는 'counter' = 0이므로 루프는 0부터 카운트를 시작합니다.
  2. 정지 조건은 'counter' < 3'으로, 반복 변수 'counter'가 3보다 작은 한 루프가 실행된다는 의미입니다.
  3. 반복문은 'counter++'입니다. 이는 각 루프 후에 'counter' 값이 1씩 증가함을 의미합니다. 첫 번째 반복의 경우 '카운터'는 0이고, 두 번째 반복의 경우 '카운터'는 1과 같습니다.
  4. 코드 블록은 조건이 false로 평가될 때까지 실행됩니다. 'counter'가 3보다 크거나 같을 때 조건이 거짓이 되며, 조건이 거짓이 되는 지점을 stopping condition이라고 합니다.

Looping through Arrays

for문은 데이터 구조를 반복하는 데 매우 유용합니다. for문을 사용하여 배열의 각 요소에 대해 동일한 작업을 수행할 수 있습니다. 배열의 각 요소를 반복하려면, for문에서 배열의 .length 속성을 조건에 사용해야 합니다.

for문이 배열에서 반복하는 예시입니다.

const animals = ['Grizzly Bear', 'Sloth', 'Sea Lion'];
for (let i = 0; i < animals.length; i++){
  console.log(animals[i]);
}

위의 예는 다음과 같이 출력됩니다.

Grizzly Bear
Sloth
Sea Lion

위의 루프에서는 반복 변수 i를 명명했는데, 이것은 많은 반복문에서 볼 수 있는 변수 명명법입니다.

The While Loop

다른 종류의 반복문으로는 while문이 있습니다. 다음의 예시는 for문을 while문으로 바꾼 것입니다.

// A for loop that prints 1, 2, and 3
for (let counterOne = 1; counterOne < 4; counterOne++){
  console.log(counterOne);
}
 
// A while loop that prints 1, 2, and 3
let counterTwo = 1;
while (counterTwo < 4) {
  console.log(counterTwo);
  counterTwo++;
}
  1. while문에서 변수는 반복문 앞에서 선언됩니다.
  2. while 키워드로 반복문을 시작하고, 정지 조건 또는 테스트 조건을 따릅니다. 조건이 참으로 평가되는 동안 블록은 계속 실행되는데, 조건이 false로 평가되면 루프가 중지됩니다.
  3. 문장을 출력하고, 'counterTwo'의 값을 1씩 증가시킵니다. 위의 예시에서 'conterTwo === 4'가 되는 경우, while문을 빠져나오게 됩니다.

'counterTwo'의 값이 증가하지 않는다면, 계속해서 초기 값인 1을 가질 것입니다. 즉, 조건인 'counterTwo < 4'는 항상 참으로 평가기에 계속해서 반복하게 될 것입니다. 이러한 경우를 infinite loop(무한 루프)라고 부르며, 무한 루프는 컴퓨터의 처리 능력을 모두 차지할 수 있기에 피해야 합니다.

Do.. While Loop

경우에 따라 코드를 적어도 한 번 실행한 다음 초기 실행 후 특정 조건에 따라 반복하도록 해야 합니다. 이런 경우에는 'do.. while'문을 사용합니다.

while문과 'do.. while문'이 다른 점으로 while문과는 달리 'do...while'문은 조건이 참으로 평가되는지 여부에 관계없이 한 번 이상 실행된다는 것입니다.

const firstMessage = 'I will print!';
const secondMessage = 'I will not print!'; 
 
// A do while with a stopping condition that evaluates to false
do {
 console.log(firstMessage)
} while (true === false);
 
// A while loop with a stopping condition that evaluates to false
while (true === false){
  console.log(secondMessage)
};

위의 예시에서 'do.. while'문의 경우, firstMessage를 조건이 거짓임에도 문장을 한 번 출력하지만, while문의 경우 조건이 거짓으므로 문장을 출력하지 않습니다.

The break Keyword

작성한 반복문에 대해서 정지 조건이 충족되지 않았음에도 반복문이 계속 실행되는 것을 중지하고 싶을 때, break 키워드를 사용할 수 있습니다.


for (let i = 0; i < 99; i++) {
 if (i > 2 ) {
    break;
 }
 console.log('Banana.');
}

console.log('Orange you glad I broke out the loop!');

위의 예시에서 i > 2일 때 break 키워드를 통해 반복문을 종료하게 됩니다.

profile
쉽게만 살아가면 재미없어 빙고🐝
post-custom-banner

0개의 댓글