연산자
컴퓨터에서는 다양한 연산자를 통해 계산작업을 한다. 자바스크립트 프로그래밍에서 사용하는 연산자는 산술, 문자 결합, 대입(복합 대입), 증감, 비교, 논리, 삼항 조건 연산자가 있다. 빼기, 더하기, 곱하기, 나누기, 비교 등을 하는 일련의 작업을 연산 작업이라 한다.
산술 연산자
산술 연산자에는 더하기(+), 빼기(-), 곱하기(*), 나누기(/), 나머지(%)가 있다. 산술 연산자로 연산을 하기 위해서는 연산 대상 데이터가 반드시 2개 있어야한다. 다음은 산술 연산자의 종류와 기본형을 정리한 표이다.
종류 | 기본형 | 설명 |
---|---|---|
+ | A + B | 더하기 |
- | A - B | 빼기 |
* | A * B | 곱하기 |
/ | A / B | 나누기 |
% | A % B | 나머지 |
문자 결합 연산자
문자 결합 연산자는 피연산자(연산 대상 데이터)가 문자형 데이터이다. 여러 개의 문자를 하나의 문자형 데이터로 결합할 때 사용한다. 다음과 같이 더하기에 피연산자로 문자형 데이터가 한 개라도 포함되어 있으면 다른 피연산자의 데이터는 자동으로 문자형 데이터로 형 변환되고 문자 결합이 이루어져 하나의 문자형 데이터를 반환한다.
풀이예시
문자형 데이터 + 문자형 데이터 = 하나의 문자형 데이터
"do it" + "javascript" = "do it javascript";
문자형 데이터 + 숫자형 데이터 = 하나의 문자형 데이터
"100" + 200 = "100200";
대입 연산자
대입연산자(=)는 연산된 데이터를 변수에 저장할 때 사용한다. 복합 대입 연산자(+=, -=, *=, /=, %=)는 산술 연산자와 대입 연산자가 복합적으로 적용된 것을 말한다. 아래 표에 대입 연산자의 종류를 나타내었다.
종류 | 풀이 |
---|---|
A = B | A = B |
A += B | A = A+B |
A *= B | A = A*B |
A /= B | A = A/B |
A %= B | A = A%B |
풀이예시
<script>
var num1 = 10;
var num2 = 3;
num1 += num2; //num1 = num1(10) + num2(3);
document.write(num1, "<br>") //13
num1 -= num2; //num1 = num1(13) - num2(3);
document.write(num1, "<br>") //10
num1 *= num2; //num1 = num1(10) + num2(3);
document.write(num1, "<br>") //30
num1 %= num2; //num1 = num1(30) + num2(3);
document.write(num1, "<br>") //0
<script>
증감 연산자
증감 연산자에는 숫자형 데이터를 1씩 증가시키는 증가 연산자(++)와 반대로 1씩 감소시키는 감소 연산자(--)가 있다. 증감 연산자는 앞에있는 연산자와는 달리 피연산자가 한 개만 필요한 단항 연산자이다. 증감 연산자는 변수의 어느 위치에 오는가에 따라 결과값이 달라진다. 01. 변수의 값을 1만큼 증가시킨다.
변수++; 또는 ++변수;
02. 변수의 값을 1만큼 감소시킨다.
변수--; 또는 --변수;
풀이예시
<script>
var num1 = 10;
var num2 = 20;
var result;
num1 --;
document.write(num1, "<br>") //9
num1 ++;
document.write(num1, "<br>") //10
result = num2++;
document.write(num1, "<br>") //result:20, num2: 21
result = ++num2;
document.write(num1, "<br>") //result:22, num2: 22
<script>
비교 연산자
두 데이터를 '크다, 작다, 같다'와 같이 비교할 때 사용하는 연산자이다. 연산된 결괏값은 true(참) 또는 false(거짓)로 논리형 데이터를 반환한다.
비교 연산자의 종류
종류 | 설명 | 비고 |
---|---|---|
A > B | A가 B보다 크다. | |
A < B | A가 B보다 작다. | |
A <= B | A가 B보다 크거나 같다. | |
A > B | A가 B보다 작거나 같다. | |
A == B | A와 B는 같다. | 숫자를 비교할 경우 자료형(type)은 숫자형이든 문자형이든 상관하지 않고 표기된 숫자만 일치하면 ture를 반환합니다. 숫자형 10과 문자형 "10"은 같은 것으로 인식한다. |
A != B | A와 B는 다르다. | 숫자를 비교할 경우 자료형(type)은 숫자형이든 문자형이든 상관하지 않고 표기된 숫자만 일치하면 true를 반환합니다. 숫자형 10과 문자형 "10"은 같은 것으로 인식되어 A!=B에 대해 false를 반환한다. |
풀이예시
var x = 10, y = "10";
x == 10 //true
y == 10 //true
var x = 10, y = "10";
x === 10 //true
y === 10 //false
논리 연산자
논리 연산자에는 ||(or), &&(and), !(not)이 있으며, 논리 연산자는 피연산자가 논리형 데이터인 true 또는 false로 결괏값을 반환합니다. ||(or) 연산자는 피연산자 중 하나만 true이면 ture라는 결괏값을 반환한다. 하지만 &&(and) 연산자는 피연산자 중 하나만 false아면 fasle라는 결괏값을 반환한다. !(not)은 논리 부정 연산자로, 피연산자가 true이면 false라는 반대의 결괏값을 반환한다.
논리 연산자의 종류
종류 | 설명 |
|| | or 연산자라 부르며, 피연산자 중 값이 하나라도 true가 존재하면 true로 결괏값을 반환한다. |
&& | and 연산자라 부르며, 피연산자 중 값이 하나라도 false가 존재하면 false로 결괏값을 반환한다. |
! | not 연산자라 부르며, 단항 연산자이다. 피연산자의 값이 true이면 반대로 false로 결괏값을 반환한다. |