상세 컨텐츠

본문 제목

[codecademy JavaScript] 7장. Loops

22-23/22-23 리액트 스타터 1

by YUZ 유즈 2022. 9. 22. 12:33

본문

728x90

Loops(루프,반복)

반복되는 프로그램을 만들 때, 매번 동일한 코드를 입력하는 것은 매우 번거로운 일입니다. 반복문을 사용하면 특정 조건이 충족될 때까지 반복하고, 조건이 충족된다면 반복을 멈추고 다음 코드로 이동합니다. 프로그램을 효율적으로 만드는 반복문을 배워봅시다.

 


 

<for>

위에서 본 예시를 for문을 사용한다면 간단하게 표현할 수 있습니다.

for문의 괄호 안에는 세미콜론(;)으로 구분된 세 개의 식이 있습니다.

첫 번째 식인 초기식은 반복문을 시작하고, 반복되는 변수를 선언하는 데 사용됩니다.

두 번째 식인 중지 조건은 반복되는 변수가 참인지 거짓인지 판단하는 조건으로, 참으로 평가되면 반복문이 실행되고 거짓으로 평가되면 반복문이 종료됩니다.

세 번째 식인 변화식은 반복마다 반복되는 변수를 업데이트합니다.

이때 중지 조건이 충족되지 않으면 무한 루프가 발생하므로, 주의해서 작성해야 합니다.

 

<for>

반복문에서 반복되는 변수를 역행하고 싶다면 어떻게 해야 할까요?

먼저, 초기식에서 반복되는 변수를 사용자가 원하는 가장 큰 값으로 설정합니다.

중지 조건에서는 반복되는 변수가 원하는 값보다 작을 때로 설정합니다.

변화식에서는 반복할 때마다 반복되는 변수가 감소하도록 합니다.

 

<배열과 반복>

for문을 이용하여 배열의 각 요소에 동일한 작업을 수행할 수 있습니다. 배열의 요소를 반복하기 위해서는 중지 조건으로 배열의 길이가 필요합니다. .length 속성을 이용하면 됩니다.

 

위의 예시에서는 배열 vacationSpots의 각 요소를 출력하려 합니다. 그러기 위해서는 배열 vacationSpots0번째 인덱스부터 마지막 인덱스까지 접근해야 합니다. 따라서 초기화 단계에서 변수 i0으로 놓고, .length()를 이용하여 변수 i가 배열의 길이보다 작을 때까지 반복할 수 있도록 합니다. 코드가 실행된 후, 변화식에서 i의 값을 증가시켜 다음 요소에 접근할 수 있습니다. i가 배열의 길이보다 커지면, for문을 빠져나와 종료합니다.

 

<중첩 반복문>

반복문 안에서 다른 반복문을 실행하는 것을 중첩 반복문이라고 합니다. 외부 반복문의 각 라운드마다 내부 반복문의 모든 라운드가 실행됩니다.

 

위의 예시에서는 배열 bobsFollowers와 배열 tinasFollowers를 비교하여 두 배열에 모두 존재하는 요소의 값을 배열 mutualFollowers 안에 넣고 있습니다. 외부 for문에서 배열 bobsFollowers의 한 요소에 접근할 때마다, 내부 for문에서 배열 tinasFollowers의 모든 요소에 접근하여 비교합니다.

 

<while>

while문은 횟수와 상관없이 조건이 참으로 평가되는 동안 계속해서 실행되며, 거짓으로 평가되면 반복문이 종료됩니다. 따라서 반복문을 빠져나올 수 있는 명령문을 만들어야 합니다. 그렇지 않으면 컴퓨터 처리 능력을 소모하는 무한 루프가 될 것입니다. while문은 반복문을 정확히 몇 번 실행시켜야 하는지 모르는 경우 사용하는 것을 추천합니다.

위의 예시는 while문을 이용하여 변수 currentCard에 배열 cards의 요소 중 하나를 랜덤으로 대입하고, 그 값이 ‘spade’일 경우 반복을 멈추는 코드입니다. ‘spade’가 언제 나올지 모르기 때문에 while문을 사용하기 적절한 경우입니다.

 

<do...while>

 

while문과는 다르게 조건의 참, 거짓과 관계없이 무조건 한 번 이상 실행됩니다. 블록 내 코드를 한번 실행한 후에, 조건의 참, 거짓 평가에 따라 반복문이 실행되거나 중지됩니다.

 

<break 키워드>

반복문의 정지 조건이 충족되지 않았음에도 반복을 중지하고 싶다면 break 키워드를 사용하세요. 특히 break문은 큰 데이터 구조를 반복할 때 유용합니다. break를 통해 정지 조건 외에 조건을 추가하여 반복문을 중지할 수 있습니다.

 

위의 예시에서는 for문을 통해 배열 rapperArray에 접근합니다. 이때 if문을 사용하여 접근한 배열의 요소 값이 ‘Notorious B.I.G.'이면, break문으로 반복문을 빠져나옵니다.

 

 


 

Quiz

1. for(let i=10; i>-1; i--) { ... } 은 변수 i(    )부터 시작하여 (   )이 될 때까지 반복한다.

2. 배열의 요소를 for문으로 접근하기 위해 속성 (    )을 이용한다.

3. 횟수와 상관없이 조건이 참으로 평가되는 동안 계속해서 실행하며, 거짓으로 평가되면 반복문을 종료하는 반복문은 (A)이다. (B)(A)와 비슷하지만 무조건 한 번 이상 실행되는 반복문이다.

4. animal 배열의 요소들을 출력하세요. 단 출력하는 요소의 값이 ‘monkey’일 경우, 반복문을 종료하세요.

 

Corner React1

Editor: 이조

728x90

관련글 더보기