ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [모던 자바스크립트 Deep Dive] 7. 연산 - 8. 제어문
    Front/모던 자바스크립트 Deep Dive 2026. 3. 21. 13:46

    7. 연산

    7.1 산술 연산자

     

    + - * / %

    피연산자를 산술하여 숫자값을 만드는 연산자

     

    7.2 할당 연산자

    할당 연산자 같은 표현
    = x = 5 x = 5
    += x+= 5 x = x + 5
    -= x -= 5 x = x - 5
    *= x *= 5 x = x * 5
    /= x /= 5 x = x / 5
    %= x %= 5 x = x % 5

     

    7.3 비교 연산자

    x == y x와 y의 이 같음
    x === y x 와 y의 타입이 같음

     

    * 예외

    NaN === NaN; false
    0 === -0; true
    0 == -0; true

     

    7.4 삼항 조건 연산자

     
    타입 조건 ? 참 실행 : 거짓 실행; var result = score >= 60 ? 'pass' : 'fail';

     

     

    7.5 논리 연산자

    논리 연산자 의미 부수 효과
    || 논리합(OR) X
    && 논리곱(AND) X
    ! 부정(NOT) X

    * 드 모르간의 법칙으로 가독성 좋게 사용 가능

     

    7.6 쉼표 연산자

    : 왼쪽 피연산자부터 차례대로 피연산자를 평가하고 마지막 피연산자의 평가가 끝나면 마지막 피연산자의 평가 결과를 반환

    반환값
    x = 1, y = 2, z = 3; 3

     

     

    7.7 그룹 연산자

    : ()로 피연산자를 가장 먼저 평가. 따라서 우선순위 조절 가능. 연산자 우선순위가 가장 높음.

    반환값
    10 * 2 + 3; 23
    10 * (2+ 3); 50

     

    7.8 typeof 연산자

    : 피연산자의 데이터 타입을 문자열로 반환. null은 반환하지 않음.

    반환값
    typeof ' ' "string"
    typeof 1 "number"
    typeof NaN "number"
    typeof true "boolean"
    typeof undefined "undefined"
    typeof Symbol() "symbol"
    typeof null
    "object"
    typeof {} "object"
    typeof function () {} "function"

     

    * 주의

    - null 값은 object 반환. null 값 확인 시 일치 연산자 (===) 확인.

    - 선언하지 않은 식별자는 ReferenceError가 아닌 undefined 반환.

     

     

    7.9 지수 연산자

    : 좌항의 피연산자를 밑, 우항의 피연산자를 지수로 거듭제곱.

    지수 연산자 반환값
    ** 2 ** 2 4

     

    7.10 그외의 연산자

    연산자 개요
    ?. 옵셔널 체이닝 연산자
    ?? null 병합 연산자
    delete 프로퍼티 삭제
    new 생성자 함수를 호출할 때 사용하여 인스턴스 생성
    instanceof 좌변의 객체가 우변의 생성자 함수와 연결된 인스턴스인지 판별
    in 프로퍼티 존재 확인

     

     

    7.11 연산자의 부수 효과

    : 일부 연산자는 다른 코드에 영향을 줌.

    연산자 영향
    할당 연산자 (=) 변수 값 변함.
    증가/감소 연산자(++/--) 피연산자 값 변경 부수 효과, 재할당 변경.
    delete 연산자 프로퍼티 삭제.

     

     

    7.12 연산자 우선순위

    우선순위 연산자
    1 ()
    2 new(매개변수 존재), ., [](프로퍼티 접근), ()(함수 호출), ?.(옵셔널 체이닝 연산자)
    3 new(매개변수 미존재)
    4 x++, x--
    5 !x, +x, -x, ++x, ==x, typeof, delete
    6 **
    7 *, /, %
    8 +, -
    9 <, <=, >, >=, in, instanceof
    10 ==, !=, ===, !==
    11 ?? (null 병합 연산자)
    12 &&
    13 ||
    14 ? ... : ...
    15 할당 연산자
    16 ,

     

    7.13 연산자 결합 순서

    결합 순서  
    좌항 -> 우항 + - / % < <= > >= && || . [] () ?? ?. in instanceof
    우항 -> 좌항 ++ -- 할당연산자 !x +x -x ++x --x typeof delete ? ... : ... **

     

     

    8. 제어문

     

    8.1 블록문

    : 0개 이상의 문을 중괄호로 묶은 것. 코드 블록 또는 블록. 하나의 실행 단위 취급.

     

    8.2 조건문

      실행문 활용문
    if ... else if (조건식){
    // 참일 때 실행
    } else {
    // 거짓일 때 실행
    }
    if (조건식1){
    // 조건식1 참일 때 실행
    } else if (조건식2) {
    // 조건식2 참일 때 실행
    }
    } else {
    // 거짓일 때 실행
    }
    switch switch (표현식) {
      case 표현식1:
           // switch 문의 표현식과 표현식1이 일치하면 실행
           break;
      case 표현식2:
           // switch 문의 표현식과 표현식2이 일치하면 실행
           break;
       default:
           // switch 문의 표현식과 일치하는 case문이 없을 때
       }
     

    * switch문보다 if ... else 권장. 

     

     

    8.3 반복문

      실행문
    for for (변수 선언문 또는 할당문; 조건식; 증감식) {
        조건식이 참일 때 반복 실행될 문
    }
    while while (조건문) {
       // 조건식이 참일 때 반복 실행 (반복 횟수 불명확할 때)
    }
    do ... while do {
      // 먼저 실행 후 조건문 평가
    } while (조건문)

     

    8.4 break 문

    : break;로 반복 탈출

     

    8.5 continue 문

    : 코드 실행을 현 지점에서 중단하고 반복문의 증감식으로 이동. 탈출X

Designed by Tistory.