[Javascript] 반복문

✔️ 반복문은 어떠한 특정 구문(들)을 정해진 횟수나 특정 배열의 길이만큼 반복하고자 할 때 사용한다.

1. for 반복문

 - for 반복문은 정수인 변수(이름은 주로 i)에 대해 그 값이 특정한 값 이상/이하/초과/미만일 때 그 값을 증가/감소 하며 어떠한 횟수만큼 반복하고자 할 때 사용한다.

- 아래 문법에서 초기화 부분에 반복에 사용할 정수인 변수를 선언한다.

- 아래 문법에서 조건 부분에 위 초기화 에서 선언한 변수에 대해 구현부를 반복할 조건을 명시한다.

- 아래 문법에서 증감부분에 위 초기화 에서 선언한 변수를 증/가감할 표현식을 작성한다.

- for 반복문 실행 최초에 초기화를 1회 하며, 우선 조건을 확인한 뒤, 이가 참이면, 구현부를 실행하고, 증감한다. 

그 후 조건을 다시 확인하고 그 뒤 절차를 반복한다. 조건확인 결과 거짓이면, for 반복문을 빠져나간다.

for(초기화; 조건; 증감) {
// 반복할 구현부
 }
 
//아래 예제는 반복에 사용할 변수 `i`에 대해 `0`부터 `4`까지 반복하는 예제이다.
for(let i = 0; i < 5; i++) {
 console.log(i);
}
// 0
// 1
// 2
// 3
// 4

//아래 예제는 어떠한 특정한 길이를 가지는 배열을 반복하는 예제이다.
const days = ['월', '화', '수', '목', '금', '토', '일'];
for(let i = 0; i < days.length; i++) {
console.log(days[i] + '요일');
}
// 월요일
// 화요일
// 수요일
// 목요일
// 금요일
// 토요일
// 일요일

2. for ⋯ in 반복문

- 반복하고자 하는 대상이 되는 오브젝트(Object)의 키(Key)를 반복하고자 할 때 사용한다.

- 배열에 사용할 경우 배열이 가지는 각 원소의 인덱스 번호에 대해 반복한다.

for(원소선언 in 반복대상) {
// 반복할 구현부
}

const weekdays = ['월', '화', '수', '목', '금'];
for(let weekday in weekdays) {
 console.log(weekday);
}
// 0
// 1
// 2
// 3
// 4

3. for ⋯ of 반복문

- 반복하고자 하는 대상이 되는 배열(`Array`)의 원소를 반복하고자 할 때 사용한다.

- 인덱스 번호가 반드시 필요한게 아니라면, 일반 `for`문보다 `for ⋯ of`를 사용하는 것이 오류로 부터 안전하다.

for(원소선언 of 반복대상) {
// 반복할 구현부
}

const weekdays = ['월', '화', '수', '목', '금'];
for(let weekday of weekdays) {
console.log(weekday);
}
// '월'
// '화'
// '수'
// '목'
// '금'

4. while 반복문
    - 횟수와 관계 없이 특정 조건이 참인 경우 무한히 반복하고자 할 때 사용한다.
    - 잘못 작성 시, 웹 사이트가 뻗거나 프로그램이 응답 없음상태가 되는 경우가 잦음으로 사용에 유의한다.
    - 아래 예에서, 조건이 참일 때 반복할 구현부를 횟수 제한 없이 실행한다.
    - 단, 조건이 애초에 거짓인 경우 반복할 구현부는 단 한번도 실행되지 않는다 이는 구현부 실행 전에 조건을 확인하기 때문이다.

while(조건) {
// 반복할 구현부
}

5. do ⋯ while 반복문
    - 횟수와 관계 없이 특정 조건이 참인 경우 무한히 반복하고자 할 때 사용한다.
    - 잘못 작성 시, 웹 사이트가 뻗거나 프로그램이 응답 없음상태가 되는 경우가 잦음으로 사용에 유의한다.
    - 아래 예에서, 조건이 참일 때 반복할 구현부를 횟수 제한 없이 실행한다.

    - while 반복문과 달리, 구현부 실행 후에조건을 확인함으로 조건과 관계 없이 최초 1회는 반드시 구현부가 실행된다.

do {
// 반복할 구현부
} while (조건);

6. 공통 키워드
   1. break
      - 현재 실행 중인 반복문의 실행을 중단한다.

for (let i = 0; i < 10; i++) {
console.log(i);
if (i % 2 > 0) {
 break;
}
}
console.log('for문 종료됨.');

// 0
// 1
// 'for문 종료됨.'

  2. continue
      - 현재의 반복을 중단하고 다음 반복으로 진행한다.

for (let i = 0; i < 10; i++) {
if (i % 2 > 0) {
continue;
}
console.log(i);
}
console.log('for문 종료됨.');

// 0
// 2
// 4
// 6
// 8
// 'for문 종료됨.'

'Front > JavaScript' 카테고리의 다른 글

bindEvent  (0) 2023.08.19
spread.suspendPaint();  (0) 2023.08.19
[Javascript] 변수와 상수  (0) 2023.05.25
[Javascript] 배열  (0) 2023.05.25
[Javascript] 데이터 타입 / 멤버  (1) 2023.05.25