연산자

산술 +, -, *, /, %, ++, --
할당 =, +=, -=, *=, /=, %=
비교 ==, !=, ===, !==, <, <=, >, >=
논리 !, &&, `
조건 (조건) ? true일 때 : false일 때

연산자 우선순위

우선순위 연산자 설명 결합 방향
1 () 묶음(괄호) -
2 . 멤버 접근
new 인수 있는 객체 생성 -
3 () 함수 호출
new 인수 없는 객체 생성
4 ++ 후위 증가 연산자 -
-- 후위 감소 연산자 -
5 ! 논리 NOT 연산자
~ 비트 NOT 연산자
+ 양의 부호 (단항 연산자)
- 음의 부호 (단항 연산자)
++ 전위 증가 연산자
-- 전위 감소 연산자
typeof 타입 반환
void undefined 반환
delete 프로퍼티의 제거
6 ** 거듭제곱 연산자
* 곱셈 연산자
/ 나눗셈 연산자
% 나머지 연산자
7 + 덧셈 연산자 (이항 연산자)
- 뺄셈 연산자 (이항 연산자)
8 << 비트 왼쪽 시프트 연산자
>> 부호 비트를 확장하면서 비트 오른쪽 시프트
>>> 부호 비트를 확장하지 않고 비트 오른쪽 시프트
9 < 관계 연산자(보다 작은)
<= 관계 연산자(보다 작거나 같은)
> 관계 연산자(보다 큰)
>= 관계 연산자(보다 크거나 같은)
instanceof 인스턴스 여부 판단
10 == 동등 연산자
=== 일치 연산자
!= 부등 연산자
!== 불일치 연산자
11 & 비트 AND 연산자
12 ^ 비트 XOR 연산자
13 비트 OR 연산자
14 && 논리 AND 연산자
15
16 ? : 삼항 연산자
17 = 대입 연산자(=, +=, -=, *=, /=, %=, <<=, >>=, >>>=, &=, ^=, =)
18 ... 전개 -
19 , 쉼표 연산자

산술 연산자(arithmetic operator)

산술 연산자 설명
+ 왼쪽 피연산자의 값에 오른쪽 피연산자의 값을 더함.
- 왼쪽 피연산자의 값에서 오른쪽 피연산자의 값을 뺌.
* 왼쪽 피연산자의 값에 오른쪽 피연산자의 값을 곱함.
/ 왼쪽 피연산자의 값을 오른쪽 피연산자의 값으로 나눔.
% 왼쪽 피연산자의 값을 오른쪽 피연산자의 값으로 나눈 후, 그 나머지를 반환함.

대입 연산자(assignment operator)

대입 연산자 설명
= 왼쪽 피연산자에 오른쪽 피연산자의 값을 대입함.
+= 왼쪽 피연산자의 값에 오른쪽 피연산자의 값을 더한 후, 그 결괏값을 왼쪽 피연산자에 대입함.
-= 왼쪽 피연산자의 값에서 오른쪽 피연산자의 값을 뺀 후, 그 결괏값을 왼쪽 피연산자에 대입함.
*= 왼쪽 피연산자의 값에 오른쪽 피연산자의 값을 곱한 후, 그 결괏값을 왼쪽 피연산자에 대입함.
/= 왼쪽 피연산자의 값을 오른쪽 피연산자의 값으로 나눈 후, 그 결괏값을 왼쪽 피연산자에 대입함.
%= 왼쪽 피연산자의 값을 오른쪽 피연산자의 값으로 나눈 후, 그 나머지를 왼쪽 피연산자에 대입함.

증감 연산자(increment and decrement operator)

증감 연산자 설명
++x 먼저 피연산자의 값을 1 증가시킨 후에 해당 연산을 진행함.
x++ 먼저 해당 연산을 수행하고 나서, 피연산자의 값을 1 증가시킴.
--x 먼저 피연산자의 값을 1 감소시킨 후에 해당 연산을 진행함.
x-- 먼저 해당 연산을 수행하고 나서, 피연산자의 값을 1 감소시킴.