HomeAboutMeBlogGuest
© 2025 Sejin Cha. All rights reserved.
Built with Next.js, deployed on Vercel
🐣
프론트엔드 데브코스 3기 교육생
/
📚
3기 스터디 가이드
/
💯
자바스크립트 Deep Dive 스터디
/
🕤
자바스크립트 Deep Dive
/
😀
4장 - 15장
/
🌸
나라
/
📓
07. 연산자
📓

07. 연산자

  • 피연산자를 연산하여 새로운 값을 만든다

산술 연산자

  • 이항 산술 연산자
    • 2개의 피연산자를 산술 연산하여 숫자 값을 만든다
      이항 산술 연산자
      의미
      부수효과
      +
      덧셈
      X
      -
      뺄셈
      X
      *
      곱셈
      X
      /
      나눗셈
      X
      %
      나머지
      X
  • 단항 산술 연산자
    • 1개의 피연산자를 산술 연산하여 숫자 값을 만든다
      단항 산술 연산자
      의미
      부수효과
      ++
      증가
      O
      —
      감소
      O
      +
      어떠한 효과도 없다. 음수를 양수로 반전하지도 않는다.
      X
      -
      양수 → 음수 음수 → 양수
      X
    • 증가 감소 연산자 : 피연산자의 값을 변경하는 부수효과
      • 전위 증가/감소 연산자: 먼저 피연산자의 값을 증가/감소 시킨 후, 다른 연산 수행
      • 후위 증가/감소 연산자: 먼저 다른 연산을 수행한 후, 피연산자의 값 증가/감소시킴
      💡
      숫자 타입이 아닌 피연산자에 + 단항연산자를 사용하면 피연산자를 숫자타입으로 변환하여 반환

문자열 연결 연산자

  • + 연산자는 피연산자 중 하나 이상이 문자열인 경우 문자열 연결 연산자로 동작
    • '1' + 2 //'12'
      ⇒ 암묵적 타입 변환, 타입 강제 변환

할당 연산자

  • 우항에 있는 피연산자의 평가 결과를 좌항에 있는 변수에 할당
    • 할당 연산자
      예
      동일 표현
      부수 효과
      =
      x = 5
      x = 5
      O
      +=
      x += 5
      x = x + 5
      O
      -=
      x -= 5
      x = x - 5
      O
      *=
      x *= 5
      x = x * 5
      O
      /=
      x /= 5
      x = x / 5
      O
      %=
      x %= 5
      x = x % 5
      O
      할당문은 값으로 평가되는 표현식인 문으로서 할당된 값으로 평가됨
      var a, b, c; a = b = c = 0; consoloe.log(a, b, c); //0 0 0

비교 연산자

  • 동등/일치 비교 연산자
    • 좌항과 우항의 피연산자가 같은 값으로 평가되는지 비교해 불리언 값 반환
      비교 연산자
      의미
      사례
      설명
      부수 효과
      ==
      동등 비교
      x == y
      x와 y의 값이 같음
      X
      ===
      일치 비교
      x === y
      x와 y의 값과 타입이 같음
      X
      ! =
      부동등 비교
      x ! = y
      x와 y의 값이 다름
      X
      ! ==
      불일치 비교
      x ! == y
      x와 y의 값과 타입이 다름
      X
      💡
      NaN은 자신과 일치하지 않는 유일한 값 Number.isNaN()을 사용
      💡
      Object.is()
      -0 === +0; //true Object.is(-0, +0) //false NaN === NaN; //false Object.is(NaN, NaN) //true

대소 관계 비교 연산자

  • 피연산자의 크기를 비교하여 불리언 값 반환
    • 대소 관계 비교 연산자
      예제
      설명
      부수 효과
      >
      x > y
      x가 y보다 크다
      X
      <
      x < y
      x가 y보다 작다
      X
      > =
      x > = y
      x가 y보다 크거나 같다
      X
      < =
      x < = y
      x가 y보다 작거나 같다
      X

삼항 조건 연산자

  • 조건식의 평가 결과에 따라 반환할 값을 결정
    • 조건식 ? 조건식이 true 일 때 반환값 : 조건식이 false일 때 반환값
    • 조건식의 평가 결과가 불리언 값이 아니면 불리언 값으로 암묵적 변환
    • 값으로 평가할 수 있는 표현식인 문
      • var result = x % 2 ? '홀수' : '짝수';

논리 연산자

  • 우항과 좌항의 피연산자를 논리 연산
    • 논리 연산자
      의미
      부수 효과
      ||
      논리합 OR
      X
      &&
      논리곱 AND
      X
      !
      부정 NOT
      X
    • 논리 부정: 언제나 불리언 반환, 피연산자가 불리언 값이 아닐경우 불리언 타입으로 암묵적 변환

쉼표 연산자

  • 왼쪽 피연산자부터 차례대로 피연산자를 평가하고 마지막 피연산자의 평가가 끝나면 마지막 피연산자의 평가결과 반환
    • var x, y, z; x = 1, y = 2, z = 3; //3

그룹 연산자

  • 소괄호로 피연산자를 감삼
  • 자신의 피연산자인 표현식을 가장 먼저 평가 → 연산자의 우선순위 조절

typeof 연산자

  • 데이터 타입을 문자열로 반환
    • typeof 1; // "number" typeof null; //"object" typeof function() {}; //"function"
      💡
      null 타입 확인시엔 일치 연산자(===) 사용
    • 선언하지 않은 식별자를 typeof 연산자로 연산해보면 ReferenceError가 발생하지 않고 undefined가 반환됨

지수 연산자

  • 좌항의 피연산자를 밑으로, 우항의 피연산자를 지수로 거듭제곱하여 숫자 값 반환
    • 2 ** 2; //4 (-5) ** 2; //25