저번 글이 너무 길어지는 관계로, 두 글로 이어서 적기로 했다!!
이번에는 연산자의 종류와, 어떻게 활용하는지에 대해서 정리할 것이다.
프로그램에서 데이터를 처리하여 결과를 산출하는 것을 연산(operation)이라 한다. 또한 연산에 사용되는 표시나 기호를 연산자(operator)라고 한다.
연산자의 종류는 아래 표와 같이 분류된다.
종류 | 연산자 | 피연산자 수 | 산출값 | 우선순위 | 설명 |
---|---|---|---|---|---|
증감 연산자 | ++, -- | 단항 | 숫자 | 1순위 | 항의 값에 1 증가, 감소 |
산술 연산자 | +, -, *, /, % | 이항 | 숫자 | 2순위 | 사칙연산 및 나머지 계산 |
시프트 연산자 | >>, <<, >>> | 이항 | 숫자 | 3순위 | 비트를 좌우로 밀어서 이동 |
비교 연산자 | >, <, >=, <=, ==, ===, !=, !== | 이항 | boolean | 4순위 | 값을 비교 |
비트 연산자 | &, ^, ~, l | 단항/이항 | 숫자 /boolean | ~만 1순위, 나머지는 5순위 | 비트 NOT, AND, OR, XOR 연산 |
논리 연산자 | &&, ll, ! | 단항/이항 | boolean | !만 1순위, 나머지는 6순위 | 논리적 NOT, AND, OR 연산 |
조건(삼항) 연산자 | (조건식)? A:B | 삼항 | 다양 | 7순위 | 조건식에 따라 참이면 A, 거짓이면 B |
대입 연산자 | =, *=, /=, %=, +=, -= | 이항 | 다양 | 8순위 | 우변의 값을 좌변의 변수에 대입 |
증가 연산자 (++): 피연산자의 값을 1 증가시킨다.
감소 연산자 (--): 피연산자의 값을 1 감소시킨다.
또한 증감 연산자는 전위형과 후위형으로 나뉜다.
전위형 | 후위형 | |
---|---|---|
사용법 | j = ++i; | j = i++; |
작업 순서 | ++i; , j = i | j = i, i++; |
설명 | 피연산자의 값을 1 증가 시킨 후 해당 연산을 수행함 | 해당 연산을 수행한 후 피연산자의 값을 1 증가 시킴 |
가장 기본이 되는 연산자로, 사칙연산(+, -, *, /)과 나머지 값을 구하는 나머지 연산자(%)가 있다.
더하기 (+) : 두 수를 더한다.
빼기 (-) : 두 수를 뺀다.
곱하기 (*) : 두 수를 곱한다.
나누기 (/) : 두 수를 나눈다.
나머지 연산자(%) : 두 수를 나눈 후 그 나머지 값을 반환한다.
시프트 연산자는 bit단위의 연산처리를 하며 자료의 가공을 위해 오른쪽 또는 왼쪽으로 이동하여 값에 대한 변화를 일으키는 연산자이다.
오른쪽 (>>) : 비트값을 주어진 숫자만큼 오른쪽으로 이동시킨다.
왼쪽 (<<) : 비트 값을 주어진 숫자만큼 왼쪽으로 이동시킨다.
>>>: 비트 값을 주어진 숫자 만큼 오른쪽으로 이동 시킨 후 빈공간을 모두 0으로 채운다.
비교 연산자는 피연산자 사이의 상대적인 크기를 판단하여, 참(true)과 거짓(false)을 반환한다. 비교 연산자는 모두 두 개의 피연산자를 가지는 이항 연산자이며, 피연산자들의 결합 방향은 왼쪽에서 오른쪽이다.
종류가 많은 관계로 표로 정리하겠다.
비교 연산자 | 설명 |
---|---|
> | 왼쪽 피연산자의 값이 오른쪽 피연산자의 값보다 크면 참을 반환함. |
< | 왼쪽 피연산자의 값이 오른쪽 피연산자의 값보다 작으면 참을 반환함. |
>= | 왼쪽 피연산자의 값이 오른쪽 피연산자의 값보다 크거나 같으면 참을 반환함. |
<= | 왼쪽 피연산자의 값이 오른쪽 피연산자의 값보다 작거나 같으면 참을 반환함. |
== | 왼쪽 피연산자의 값이 오른쪽 피연산자의 값보다 작거나 같으면 참을 반환함. |
=== | 왼쪽 피연산자와 오른쪽 피연산자의 값이 같고, 같은 타입이면 참을 반환함. |
!= | 왼쪽 피연산자와 오른쪽 피연산자의 값이 같지 않으면 참을 반환함. |
!== | 왼쪽 피연산자와 오른쪽 피연산자의 값이 같지 않거나, 타입이 다르면 참을 반환함. |
비트 연산자는 비트(bit) 단위로 논리 연산을 할 때 사용하는 연산자이다.
AND (&): 대응되는 비트가 모두 1이면 1을 반환한다.
OR (|): 대응되는 비트 중에서 하나라도 1이면 1을 반환한다.
XOR (^): 대응되는 비트가 서로 다르면 1을 반환한다.
NOT (~): 비트를 1이면 0으로, 0이면 1로 반전시킨다.
논리 연산자는 논리식을 판단하여, 참(true)과 거짓(false)을 반환한다.
! 연산자는 피연산자가 단 하나뿐인 단항 연산자이며, 피연산자의 결합 방향은 오른쪽에서 왼쪽이다.
AND 연산 (&&): 논리식이 모두 참이면 참을 반환한다.
OR 연산 (||): 논리식 중에서 하나라도 참이면 참을 반환한다.
XOR 연산: 논리식이 서로 다르면 참을 반환한다.
NOT 연산 (!): 논리식의 결과가 참이면 거짓을, 거짓이면 참을 반환한다.
다음은 논리 연산자의 모든 동작 결과를 보여주는 진리표(Truth Table)이다.
A | B | A && B | A ll B | A xor B | !A |
---|---|---|---|---|---|
true | true | true | true | false | false |
true | false | false | true | true | false |
false | true | false | true | true | true |
false | false | false | false | false | true |
조건 (삼항) 연산자는 JavaScript에서 세 개의 피연산자를 받는 유일한 연산자이다.
~이런 구조에 따라 계산된다~
또한 해당 연산자는 if...else문의 대체재로 빈번히 사용된다.
예제는 다음과 같다.
var age = 26;
var beverage = (age >= 21) ? "Beer" : "Juice";
console.log(beverage); // "Beer"
대입 연산자는 변수에 값을 대입할 때 사용하는 이항 연산자이며, 피연산자들의 결합 방향은 오른쪽에서 왼쪽이다.
이 연산자도 종류가 꽤 많으니 표로 정리하겠다.
대입 연산자 | 설명 |
---|---|
= | 왼쪽의 피연산자에 오른쪽의 피연산자를 대입함. |
+= | 왼쪽의 피연산자에 오른쪽의 피연산자를 더한 후, 그 결괏값을 왼쪽의 피연산자에 대입함. |
-= | 왼쪽의 피연산자에서 오른쪽의 피연산자를 뺀 후, 그 결괏값을 왼쪽의 피연산자에 대입함. |
*= | 왼쪽의 피연산자에 오른쪽의 피연산자를 곱한 후, 그 결괏값을 왼쪽의 피연산자에 대입함. |
/= | 왼쪽의 피연산자를 오른쪽의 피연산자로 나눈 후, 그 결괏값을 왼쪽의 피연산자에 대입함. |
%= | 왼쪽의 피연산자를 오른쪽의 피연산자로 나눈 후, 그 나머지를 왼쪽의 피연산자에 대입함. |
이렇게 연산자의 종류까지 가볍게 살펴보았다!
다음 시간부터는 본격적으로 기본 문법에 대해 배워볼 예정이라는데, 지금이 그나마 재미 붙여서 배울 수 있는 시기이지 않을까... ^_ㅠ
조금 떨리지만 그래도 파이팅이다!! 👏👏
정말 유용한글이네요~^^