본문 바로가기
웹/JavaScript

자바스크립트(연산자/조건문/반복문)

by 코낄2 2023. 10. 21.

1.연산자(Operator)

1. 산술 연산자
    +, - , * , / , %, **
2. 비교 연산자
    >, <, >=, <=, == , !=, ===, !==
    ===: 두 식의 값이 같고, 타입까지 같아야 한다.
    !==: 두 식의 값이 다르고, 타입까지 달라야 함.

3 == 3 -> true
'3' == 3 -> true (자동 형변환이 되기 때문에)
'3' === 3 -> false


3. 대입 연산자
    =. +=, -=, *=, /=, %=, **=

4. 증감 연산자
    ++변수, --변수, 변수++, 변수--

    let num = 10
    ++num   // 11    num = num + 1
    --num   // 10    num = num - 1
    num++   // 11    num = num + 1
    num--   // 10    num = num - 1
    num = 10
    result = ++num   //   num = 11, result = 11
    result = num++   //   result = 10, num = 11
    > 연산자의 위치에 따라 실행 순서가 달라져서 값이 달라질 수 있다.


5. 논리 연산자
    and,    or,    not
     &&     ||      !

6. 비트 연산자
    &, |, !, ^, <<, >>

7. 삼항 연산자

    변수 = 조건식 ? 반환값1 : 반환값2
    조건식의 결과가 참이라면 반환값1이 변수에 저장, 
    조건식의 결과가 거짓이면 반환값2가 변수에 저장.


2. 제어문

1. 조건문
    if문
    switch문

2. 반복문
    while문
    for문

if문

    if(조건식){
        조건식의 결과가 ture일 때 실행할 문장;
        ...
    }


if ~ else문

    if(조건식){
        조건식의 결과가 true일 때 실행할 문장;
    }else{
        조건식의 결과가 flase일 때 실행할 문장;
    }



if~ else if ~ else문

    if(조건식1){
        조건식1의 결과가 true일 때 실행할 문장;
    }else if(조건식2){
        조건식2의 결과가 true일 때 실행할 문장;
    }else{
        모든 조건식의 결과가 flase일 때 실행할 문장;
    }


문제. prompt로 나이를 입력받아 아래와 같이 결과를 출력하는 문서를 만들어보자.
    20살(>19)을 입력하면 > 성인입니다.
    15살(>11) > 청소년
    7살(>2) > 어린이
    그 외 > 유아

        const age = Number(prompt('나이를 입력하세요'))

        if(age>19){
            console.log('성인입니다')
        }else if(age>11){
            console.log('청소년입니다')
        }else if(age>2){
            console.log('어린이입니다')
        }else{
            console.log('유아입니다')
        }


switch 문

    switch(변수 또는 값) {
        case 값1:
            변수와 값1이 같은 경우 실행할 문장;
            ...
            break;
        case 값2:
            변수와 값2이 같은 경우 실행할 문장;
            ...
            break;
        case 값3:
            변수와 값3이 같은 경우 실행할 문장;
            ...
            break;
        ...
        default:
            변수와 모든 값이 다를 경우 실행할 문장;

    }
    break가 없다면 뒤에 문장을 검증하지 않고 (break를 만날때까지) 실행한다.


문제.
달(month)을 입력받아 해당 달의 마지막 일이 몇일인지 출력하는 문서를 작성해보자.

        let month = prompt('달을 입력하세요')

        switch (month) {
            case '1': case '3': case '5': case '7': case '8': case '10': case '12':
                console.log(`${month}월의 마지막 일자는 31일 입니다.`)
                break
            case '4': case '6': case '9': case '11':
                console.log(`${month}월의 마지막 일자는 30일 입니다.`)
                break
            case '2':
                console.log(`${month}월의 마지막 일자는 28일 입니다.`)
                break
            default:
                console.log(`입력값을 확인하세요.`)
        }

        console.log(month)


while문

    while(조건식) {
        조건식의 결과가 true인 동안 반복할 문장;
    }
    
do ~ while문
    do {
        조건식의 결과가 true인 동안 반복할 문장;
    }while(조건식)


    ✔ do ~ while문은 조건식의 결과가 처음부터 false인 경우라도 1번은 {} 문장을 실행함.

for문

    for(초기값; 조건식; 증감식){
        조건식의 결과가 true인 동안 반복할 문장;
    }

    let sum = 0
    for(let i=1; i<=10; i++){
        sum += i
    }
        // i는 for문 안에서만 써줄 수 있음.


    ✔ for문의 무한루프

    for(;;){

    }


break문
switch문 또는 반복중인 루프 내에서 사용하여 해당 문장을 완전히 종료시키고 다음에 위치한 실행문으로 이동한다.

continue문
반복중인 루프 내에서 사용하여 해당 루프의 나머지 부분을 건너뛰고 반복문의 처음으로 되돌아간다.

    let num = 1;
    while(num <=10){
        console.log(num)
        num++
        if(num == 5) continue
        ...
        ...
    }

> 만약 num이 5면 다시 while문 처음으로 돌아간다.

 

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

Interval, Timeout 함수  (0) 2023.10.28
프로토타입/상속  (0) 2023.10.28
자바스크립트(배열/함수)  (0) 2023.10.21
자바스크립트(변수/타입)  (0) 2023.10.21
자바스크립트  (0) 2023.10.20