연산자
자바스크립트는 여러 종류의 연산을 위한 다양한 연산자(operator)를 제공하고 있다.
산술 연산자(arithmetic operator)
산술 연산자는 모두 두 개의 피연산자를 가지는 이항 연산자이며, 피연산자들의 결합 방향은 왼쪽에서 오른쪽이다.
🙋♂️항이란 해당 연산의 실행이 가능하기 위해 필요한 값이나 변수를 의미한다.
따라서 이항 연산자란 해당 연산의 실행을 위해서 두 개의 값이나 변수가 필요한 연산자를 의미한다.
산술 연산자 설명
+ | 왼쪽 피연산자의 값에 오른쪽 피연산자의 값을 더함. |
- | 왼쪽 피연산자의 값에서 오른쪽 피연산자의 값을 뺌. |
* | 왼쪽 피연산자의 값에 오른쪽 피연산자의 값을 곱함. |
/ | 왼쪽 피연산자의 값을 오른쪽 피연산자의 값으로 나눔. |
% | 왼쪽 피연산자의 값을 오른쪽 피연산자의 값으로 나눈 후, 그 나머지를 반환함. |
예제 👉
var x = 10, y = 4;
document.write(x + y); // 14
document.write(x - y); // 6
document.write(x * y); // 40
document.write(x / y); // 2.5
document.write(x % y); // 2
연산자의 우선순위(operator precedence)와 결합 방향(associativity)
연산자의 우선순위는 수식 내에 여러 연산자가 함께 등장할 때, 어느 연산자가 먼저 처리될 것인가를 결정한다.
예제 👉기
- 기본 처리 순서
- ⇒ i = 3 + 4 * 5; 일 경우 곱셈인4 * 5 를 처리한 후에 + 3을 처리해준다.
- 괄호(())를 사용한 순서 변경
- ⇒ i = (3 +4) * 5; 일 경우 괄호안 (3 + 4)를 처리한 후에 * 5를 처리해준다.
- 왼쪽에서 오른쪽으로 결합
- ⇒ 3 + 4 - 5; 일 경우 3 + 4를 처리한 후에 - 5를 처리해준다.
- 오른쪽에서 왼쪽으로 결합우선순위 연산자 설명 결합 방향
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 , 쉼표 연산자 왼쪽에서 오른쪽으로 - 또한, 같은 우선순위를 가지는 연산자가 둘 이상 있을 때에는 결합순서에 따라 실행 순서가 결정된다.
- ⇒ a = b = c; 일 경우 b = c를 처리한 후에 a방향 쪽으로 처리해 준다.
'Javascript' 카테고리의 다른 글
JAVASCRIPT 대입연산자 (0) | 2023.04.24 |
---|---|
JAVASCRIPT 논리연산자 (0) | 2023.04.24 |
JAVASCRIPT 변수의 유효범위 (0) | 2023.04.21 |
JAVASCRIPT 배열 (0) | 2023.04.21 |
JAVASCRIPT 함수 (0) | 2023.04.21 |
댓글