Front-End/JavaScript

JavaScript 조건문과 반복문

코드깎는머슴 2024. 2. 23. 12:38
728x90
반응형

반복문



공통 키워드

    - break     : 현재 실행 중인 반복문 종료.
    - continue  : 현재 사이클 생략하고 다음 사이클로 넘어감

for

    - 반복의 기준이 되는 변수(주로 인덱스)를 활용하여 특정 구현부를 반복하고자 할 때 사용       

for([변수 선언 및 초기화]; [반복 조건]; [변수 가감 및 할당]){
    [구현부]
}


1. for 반복문을 위한 변수를 선언 혹은 초기화한다.
2. 반복 조건이 참(true)인지 확인
        a. 반복 조건이 참이면 [구현부]를 1회 실행하고 3으로 이동
        b. 반복 조건이 거짓이면 for 반복문 종료
3. 변수 가감 및 할당을 실시하고 2로 돌아감

1부터 5까지의 정수를 출력하기 위해 아래와 같이 작성할 수 있다.

for(let i = 1; i <=5; i++){
    console.log(i);
}



for... in

반복할 수 있는 대상(대표적으로 배열)이 가지고 있는 인자의 인덱스에 대해 반복하기 위해 사용

for ([변수 혹은 상수 선언] in [반복 대상]){
    [구현부]
}




for... of

반복할 수 있는 대상(대표적으로 배열)이 가지는 인자의 값에 대해 반복하기 위해 사용한다.
순번에 대한 변수가 필요 없을 경우 순번 범위 오류 및 가독성 향상 등을 위해 가능한한 for...of 반복문을 사용하는 것이 좋다.

for([변수 혹은 상수 선언] of [반복 대상]){
    [구현부]
}



while

주어진 조건이 참일 때(횟수와 관계 없이) 구현부를 실행
       

while([조건]){
    [구현부]
}


만약 [조건]이 항상 참이거나, 거짓으로 변하는 경우의 수가 없다면, 무한 반복

do... while

while과 유사하나 조건과 관계 없이 최초 한 번은 반드시 구현부 실행
       

do {
    [구현부]
} while([조건]);


만약 [조건]이 항상 참이거나, 거짓으로 변하는 경우의 수가 없다면, 무한 반복

 

조건문

if

주어진 조건이 참일 때만 구현부 실행  

if([조건]){
    [구현부]
}



if/else

    - else문은 앞서 제시된 모든 조건이 거짓일 때 최종적으로 실행항 구현부를 위해 사용
    - else문은 if문 당 반드시 한 개 이하만 존재해야 함
    - else문은 if문의 마지막 구문이어야 함
    - 단순 if-else문은 주어진 두 개의 구현부 중 하나가 반드시 실행

if([조건]){
    [구현부]
}else{
    [구현부]
}



if/else if

    - else if문은 선행하는 조건이 거짓일 때 부차적인 조건을 추가하여 조건적으로 구현부를 실행하고자 할 때 사용
    - else if 문은 하나의 if 문에 여러개가 사용될 수 있다.
    - else if 문의 조건이 참이라 하더라도 선행하는 if문 혹은 else if 문의 조건이 참이어서 선행하는 구현부를 실행하였다면, 후행하는 구현부는 무의미하다.

if([선행 조건]){
    [선행 구현부]
} else if ([부수 조건 1]){
    [부수 조건1 구현부]
} else if ([부수 조건 2]){
    [부수 조건2 구현부]
}


부수 조건 1 구현부가 실행되었다면, 이는 선행 조건이 거짓이라는 의미
부수 조건 2 구현부가 실행되었다면, 이는 선행 조건 및 부수 조건 1이 모두 거짓이라는 뜻

if/else if/else

     - if문은 else if와 else 문을 모두 가질 수 있다. else문은 반드시 마지막에 한개만 위치할 수 있다

if([선행 조건]){
[선행 구현부]
} else if ([부수 조건 1]){
[부수 조건1 구현부]
} else if ([부수 조건 2]){
[부수 조건2 구현부]
} else {
[거짓 구현부]
}


거짓 구현부가 실행되었다면 선행 조건, 부수조건1, 부수조건2 모두 거짓이라는 뜻
하나의 if문이 가지는 구현 부 중 한개 이하만 실행될 수 있다..(여타 조건이 참이어도, 선행구현부가 실행되었으면 후행하는 조건 및 구현부는 무시)


switch

    - 분기문은 분기 대상 변수가 가지는 값에 따라 case를 활용하여 실행할 구문을 분리하기 위해 사용

switch([분기 대상 변수]){
    case [값 1]:
        [값 1 구현부]
        [break;]?
    case [값 2]:
        [값 2 구현부]
        [break;]?
    case [값 3]:
        [값 3 구현부]
        [break;]?
    [...]
    [default:]?
}


break 키워드는 해당 위치에서 switch 분기문을 종료하겠다는 의미
default 키워드는 선행하는 case 중 분기 대상 변수가 가지는 값과 일치하는 것이 없을 때 최종적으로 실행하는 일종의 else 역할
deault는 반드시 한 개 이하는 존재, 마지막에 위치

728x90
반응형