상세 컨텐츠

본문 제목

[Codecademy-Javascript] 7장 Loops

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

by YUZ 유즈 2022. 9. 22. 10:05

본문

728x90

7. Loops

반복문은 특정 조건이 충족될 때까지 똑같은 명령을 반복하는데 사용되는 구문입니다.


7-1. 반복문

 반복문은 특정 조건이 충족될 때까지 똑같은 명령을 반복하는 데 사용되는 구문입니다.
반복문을 사용하면 프로그램을 자동화하여 확장 가능하고 관리 가능한 프로그램을 만드는 효율적인 코드를 만들 수 있습니다.

 

7-2. for 반복문

 전형적인 for 반복문반복 변수를 포함합니다. 반복 변수는 초기화되고, 종료 조건에 의해 검사되고, 반복될 때마다 새로운 값이 할당됩니다. 반복 변수는 어떤 이름을 사용해도 상관이 없지만, 뜻을 가지는 이름을 사용하는 것이 좋습니다. 일반적으로 index를 축약해 i를 사용합니다.

 for 반복문은 괄호 안에 ;(세미콜론)으로 구분된 세 가지 표현식을 포함합니다.

  • 초기화는 반복문을 시작하고 반복 변수를 선언하는 데 사용됩니다.
  • 종료 조건은 반복 변수가 평가되는 조건입니다. 만약 조건이 참(true)으로 평가되면 반복문이 실행되고, 조건이 거짓(false)로 평가되면 반복문이 종료됩니다.
  • 증감식은 반복문이 실행될 때마다 반복 변수를 업데이트합니다.
for (let counter = 0; counter < 4; counter++){
	console.log(counter);
};

 

7-3. 역순 반복

 위의 for 반복문의 예시에서 0, 1, 2, 3이 순서대로 출력됩니다. 만약 3, 2, 1, 0처럼 반대로 반복되도록 하려면 어떻게 해야 할까요? 표현식을 간단히 수정하면 반복문을 거꾸로 실행시킬 수 있습니다.

  • 초기화식에서 반복 변수를 가장 높은 값으로 설정합니다.
  • 반복 변수의 값이 원하는 양보다 작을 때의 종료 조건을 설정합니다.
  • 반복 변수는 반복문이 실행될 때마다 감소되어야 합니다.

 아래의 코드는 반복문을 역순으로 반복되게 수정한 코드입니다.

for (let counter = 3; counter > -1; counter--){
	console.log(counter);
};

 

7-4.  배열을 통한 반복

 반복문은 데이터 구조를 반복하는데 매우 용이합니다. 반복문을 통해 배열의 각 요소를 반복하기 위해선 for 문의 종료 조건에 배열의 .length 속성을 사용해야 합니다. 이때 배열의 인덱스는 0부터 시작하므로, 배열의 마지막 요소의 인덱스는 당 배열의 길이 - 1 이라는 것을 유의해야 합니다.

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

 

7-5. 중첩 반복문

 반복문 안에서 또 다른 반복문이 실행되고 있을 때 이를 중첩 반복문이라고 합니다. 주로 중첩 반복문은 두 배열의 요소를 비교할 때 사용됩니다.

const myArray = [6, 19, 20];
const yourArray = [19, 81, 2];

for(let i = 0; i < myArray.lenth; i++){
	for(let j = 0; j < yourArray.length; j++){
		if(myArray[i] === yourArray[j]){
			console.log('Both arrays have the number: ' + yourArray[j]);
		}
	}
}

 위의 코드에서, 외부 반복문의 배열인 myArray의 각각의 모든 요소들은 내부 반복문의 배열인 yourArray의 모든 요소들과 비교됩니다.

 

7-6. While 반복문

 While 반복문은 조건식이 참(true)일 동안 루프를 수행하는 반복문입니다. While 반복문은 조건이 false(거짓)가 될 때까지 계속 실행됩니다. 조건은 반복되는 코드 전에 지정되며 일반적으로 While 반복문이 종료돼야 하는 시점을 결정하기 위해 반복되는 코드에서 일부 변수가 증가되거나 변경됩니다. While 반복문은 반복 횟수를 명시적으로 지정하지 못할 때 사용하는 것이 이상적입니다.

for (let counterOne = 1; counterOne < 4; counterOne++){
  console.log(counterOne);
}
 
let counterTwo = 1;

while (counterTwo < 4) {
  console.log(counterTwo);
  counterTwo++;
}

 만약 위의 코드에서 counterTwo의 값을 계속 증가시키지 않는다면 조건식의 값은 항상 true(참)가 되어 반복이 멈추지 않을 것입니다. 이를 무한 루프라고 합니다. 무한 루프는 잠재적으로 컴퓨터의 동작을 멈추게 만들 수 있기 때문에 피해야 합니다.

 

 

7-7. do...while 문

 어떤 경우에는 코드를 한 번 이상 실행한 뒤 조건에 따라 반복하길 원할 수 있습니다. do...while문은 코드를 한 번 수행한 뒤 지정된 조건이 더 이상 충족되지 않을 때까지 계속 수행합니다.

let countString = '';
let i = 0;
 
do {
  countString = countString + i;
  i++;
} while (i < 5);
 
console.log(countString);

 while문과 달리 do...while문은 조건식의 결과에 상관없이 적어도 한 번 수행된다는 점에서 차이가 있습니다

 

7-8. break 예약어

 반복문에서 조건식이 true(참)가 되기 전에 반복을 종료하고 싶다면, break 예약어를 사용하여 반복을 즉시 종료할 수 있습니다. 또한 반복문의 정해진 종료 조건 외에도 조건문을 추가하고, 그 조건이 충족된다면 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!');

 위의 코드에서는 기존의 for 반복문의 조건에 따라 ‘Banana.’가 99번 출력되어야 하지만, if 조건문이 참이 되었을 때 실행되는 코드에 break 예약어가 포함되어 있기 때문에 ‘Banana.’를 3번밖에 출력하지 않습니다.


JavaScript

Editor: 도담

728x90

관련글 더보기