JavaScript 입문 | 연산자 (operator) | 산술 연산자 (arithmetic)
산술 연산자(arithmetic operator)
산술 연산자는 사칙연산을 다루는 가장 기본적이면서도 많이 사용하는 연산자이다.
산술 연산자는 모두 두 개의 피연산자를 가지는 이항 연산자이며, 피연산자들의 결합 방향은 왼쪽에서 오른쪽이다.
| 산술 연산자 | 설명 |
|---|---|
| + | 왼쪽 피연산자의 값에 오른쪽 피연산자의 값을 더함. |
| - | 왼쪽 피연산자의 값에서 오른쪽 피연산자의 값을 뺌. |
| * | 왼쪽 피연산자의 값에 오른쪽 피연산자의 값을 곱함. |
| / | 왼쪽 피연산자의 값을 오른쪽 피연산자의 값으로 나눔. |
| % | 왼쪽 피연산자의 값을 오른쪽 피연산자의 값으로 나눈 후, 그 나머지를 반환함. |
var x = 10, y = 4;
document.write(x + y + "<br>"); // 14
document.write(x - y + "<br>"); // 6
document.write(x * y + "<br>"); // 40
document.write(x / y + "<br>"); // 2.5
document.write(x % y); // 2
자바스크립트 연산자의 우선순위표
자바스크립트에서 연산자의 우선순위와 결합 방향은 다음과 같다.
| 선순위 | 연산자 | 설명 | 결합 방향 |
|---|---|---|---|
| 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 | || | 논리 OR 연산자 | 왼쪽에서 오른쪽으로 |
| 16 | ? : | 삼항 연산자 | 오른쪽에서 왼쪽으로 |
| 17 | = | 대입 연산자 (=, +=, -=, *=, /=, %=, «=, »=, »>=, &=, ^=, |=) | 오른쪽에서 왼쪽으로 |
| 18 | … | 전개 | - |
| 19 | , | 쉼표 연산자 | 왼쪽에서 오른쪽으로 |
위의 표에서 나온 순서대로 우선순위가 빠른 연산자가 가장 먼저 실행된다.
또한, 같은 우선순위를 가지는 연산자가 둘 이상 있을 때에는 결합 순서에 따라 실행 순서가 결정된다.