01. if문

if문은 가장 간단한 조건문이다.
주어진 조건이 참이면 true, 아니면 false를 출력한다.

                                     
    if(0){
       document.write("실행되었습니다. (true)"); 
    } else {
       document.write( "실행되었습니다.(false)"); // 0은 false이므로 얘가 출력 됨
    } 
결과확인하기
실행되었습니다(false)

true조건 : 1, 2, "0"(문자), "1"(문자), "ABC"(문자), 0<10(비교연산자), [](배열), {}(객체), true
false조건 : 0, null, undefined, false, ""(문자열 안이 빈칸인 경우:빈문자열)

02. if문 생략

위의 if문에서 {}(중괄호)를 생략하는 방법이다.

                      
    const num = 100; //100을 num에 넣는다.

    if(num) document.write ("실행되었습니다.(true)"); //숫자 100은 true 이므로 얘가 출력됨
    else document.write ("실행되었습니다.(false)");
결과확인하기
실행되었습니다(false)

03. 삼항 연산자

if-else문을 간단하게 표현하는 효율적인 방법이다.
참과 거짓에 따라 선택적으로 실행되는 조건문으로 else가 필요없다
삼항연산자는 물음표(?)와 콜론(:)을 사용하여 구성된다.

                      
    const num = 100;
    // 생략 전 if-else문
    // if(num == 100){
    //     document.write("true")
    // } else {
    //     document.write("false")
    // }

    (num == 100) ? document.write("true") : document.write("false");  //참 이므로 true출력
결과확인하기
true

04. 다중 if

여러 개의 if문을 연속해서 사용하는 것이다.
else if를 통해 계속해서 조건을 만들어 나갈 수 있으며
마지막에는 else를 쓰지않는다.
각 문은 독립적으로 실행된다.

   
    const num = 100;
    
    if(num == 90){
        document.write("실행되었습니다(num == 90)");
    }else if(num == 100){
        document.write("실행되었습니다(num == 100)");//num == 100 조건 충족되므로 출력된다
    }else if(num == 110){
        document.write("실행되었습니다(num == 110)");
    }else if(num == 120){
        document.write("실행되었습니다(num == 120)");
    }else {
        document.write("실행되었습니다");
    }
결과확인하기
실행되었습니다.(num==100)

05. 중첩 if

중첩 if문은 if문 안에 또 다른 if문을 사용하는 것이다.
이렇게 중첩된 if문은 복잡한 조건문을 작성할 때 사용된다.
조건에 충족하는 실행문을 모두 출력할 수 있다.

                      
    const num = 100;

    if( num == 100){
        document.write("실행되었습니다.(1)"); //조건 충족 =출력
        if(num == 100){
            document.write("실행되었습니다.(2)"); //조건 충족 =출력
            if(num == 100){
                document.write("실행되었습니다.(3)"); //조건 충족 =출력
            }
        }
    
    } else {
        document.write("실행되었습니다.(4)")
    }
결과확인하기
실행되었습니다.(1)
실행되었습니다.(2)
실행되었습니다.(3)

06. switch문

조건문에서 비교할 값이 많을 경우 if else문을 반복 사용하는 것보다
switch문을 사용하는 것이 가독성을 높일 수 있다. 조건이 맞으면 case를
비교할 필요가 없으므로 break; 로 종료 시킨다.

                      
    const num = 100;

    switch(num){
        case 90:
            document.write("실행 90");
            break; // 생략 가능 하나 조건이 맞으면 더이상 비교할 필요가 없으므로 종료시킴.(리액트방식)
        case 80:
            document.write("실행 80");   
            break; 
        case 70:
            document.write("실행 70");
            break;
        case 60:
            document.write("실행 60");
            break;
        case 50:
            document.write("실행 50");
            break;
        default:
            document.write("실행 0"); // 답이 없으므로 기본값이 출력된다.
    }
결과확인하기
실행 0

07. while문

조건이 참일 때 실행되는 반복문으로 문장이 실행되기 전 먼저 참과 거짓 여부를 판단한다.
그 다음 참이면 while문 안의 문장들을 실행시킨다.

                      
    // for(let i=0; i<5; i++){ 
    //    document.write(i);
    //} 결과값이 같은 for문
    let num = 0;

    while(num<5){ // 문장 실행 전 참/거짓 판단  : 0~4까지 참(true)
        document.write(num);
        num++;  // 조건에 맞는 만큼(5번)반복 출력시키는 역할
    }
결과확인하기
0 1 2 3 4

08. do while문

while문과 유사하지만 while문은 조건식을 먼저 읽고 참/거짓을 가리는 반면
do while문은 먼저 문장 실행 후 (do 블록 코드 먼저 실행) 조건의 참/거짓을 가린다.

                      
    let num2 = 0; // num2는 0
    do { // 먼저 do 블록 실행
        document.write(num2); 
        num2++; 
    }while (num2<5);
결과확인하기
0 1 2 3 4

09. for문

for문은 특정 구문을 반복시킬 때 사용하는 반복문 종류 중 하나이며 사용빈도가 높다.

                      
    let sum = 0;
    let num = [1,2,3,4,5,6,7,8,9];  //배열 개수 9개

    for(let i=0; i<num.length; i++){  //i가 9가 될 때 까지 반복
        document.write(num[i]+'+', end" ");  // 1,2,3,4,5,6,7,8,9
        sum += num[i]; // sum = sum + num[i]; 의 생략형
    }
    document.write('='+sum)  // 1부터 9까지 합
결과확인하기
0+1+2+3+4+5+6+7+8+9+=45

10. 중첩for문

for문 안에 새로운 for문이 있는 형태이며 맨 위의 for문을 먼저 실행시킨 다음
참일 경우 아래의 중첩for문으로 넘어와서 조건이 참일 때 까지 실행시키고 난 후 다시
처음 for문으로 돌아가서 실행하고 또 참이면 중첩for문을 실행 시키는 식의 반복 구조 이다.

                      
    for(let i=1; i<=10; i++){
        document.write(i,"<br>")
        for(let j=1; j<=10; j++){
            document.write(j);
        }
    }
결과확인하기
1
123456789102
123456789103
123456789104
123456789105
123456789106
123456789107
123456789108
123456789109
1234567891010
12345678910

11. break문

조건식이 맞을 경우 더 반복할 수 있음에도 불구하고 미리 중단(break)시켜주는 실행문으로
무한 반복문에서 유용하게 사용할 수 있다.

                      
    for(let i=1; i<20; i++){
        document.write(i);
        if(i == 10){
            break;   // 20까지 반복할 수 있음에도 i가 10이 되면 강제종료
        }
    }
    // 둘이 값이 다름
    for(let i=1; i<20; i++){ 
        if(i == 10){
            break;
        }
        document.write(i);
    }
결과확인하기
1
2
3
4
5
6
7
8
9
10
document.write(i);를 밖으로 뺐을 때
1
123456789102
123456789103
123456789104
123456789105
123456789106
123456789107
123456789108
123456789109
1234567891010
12345678910123456789

12. continue문

실행해야 할 명령문을 실행하지 않고 다음 명령문으로 건너뛰어 실행하는 명령문으로
for문에 중첩된 if문 괄호 안의 조건식이 참일 경우 해당 값을 건너뛰고 다음 값을
순서대로 출력한다.

                      
    for(let i=1; i<20; i++){
        if(i == 10){  // 10을 건너뛰고 1-20이 출력됨
            continue;
        }
        document.write(i) // document.write가 맨 위에 있을 경우 위의 continue문을 무시하고 10 출력됨
    }
    // document.write가 맨 위에 있을 경우 위의 continue문을 무시하고 10 출력됨
    for(let i=1; i<20; i++){
        document.write(i);
        if(i == 10){
            continue;
        }
    }
결과확인하기
1
2
3
4
5
6
7
8
9
1
1
1
1
1
1
1
1
1
20