본문 바로가기
Programming/Javascript

[Javascript] 산술 연산자

by Bam_t 2021. 2. 4.
728x90

들어가기전에...

연산자란 변수나 리터럴에 미리 정의된 처리를 하기 위한 기호들입니다.

+리터럴: 데이터형에 보관되는 값이나 그 값의 표현 방법

 

처음으로 다룰 연산자는 산술 연산자입니다. 기본적인 사칙연산을 지원해주는 연산자들 입니다.


산술연산자에는 다음과 같은 연산자들이 존재합니다.

연산자 설명 예시
+ 덧셈 1+3
- 뺄셈 4-1
* 곱셈 3*4
/ 나눗셈 12/3
% 나누고난 나머지 산출 7%2
++(전위) 전위 덧셈 ++1
++(후위) 후위 덧셈 1++
--(전위) 전위 뺄셈 --1
--(후위) 후위 뺄셈 1--

평소에 자주 쓰는 연산자들이 보이고 직관적입니다. 그러나 몇 가지 주의점도 존재합니다.

 

1. +의 주의점

+ 연산자는 덧셈을 진행하게 되는 자료형에 따라서 그 동작이 달라집니다. 기본적인 숫자형+숫자형 연산에는 아무 무리가 없지만 다음과 같은 상황에서 문제가 발생합니다.

let num = '10';
num +=3;

문자형 '10'과 숫자형인 3을 더하는 경우 보통 10+3=13을 기대하겠지만 결과는 그렇지 않습니다.

console.log(num);	//103
console.log(typeof num);	//string

숫자를 더했음에도 불구하고 10이라는 문자열에 문자3이 더해진것으로 계산되어 '103'이라는 문자열이 되고 변수의 타입을 확인하는 typeof 연산자의 결과도 string을 반환합니다. (반대로 숫자형3에 문자열형 '10'을 나중에 더해도 결과는 같음) 즉, +연산자 연산에서 문자열이 하나라도 포함되어있으면 문자열로 반환된다라는 특징을 갖습니다.

그래서 이 점을 이용해 두 개의 문자열을 합치는데 이용하기도 합니다.

let str = '안녕';
let 예절주입기 = '하세요.';

console.log(str + 예절주입기);

결과

 

 

2. 전위 연산자와 후위 연산자 (++,--)

일상적으로 쓰지 않아 처음들으면 생소한 전위 연산과 후위 연산입니다. 우선 사용방법을 보면 다음과 같습니다.

[전위 연산자]
++변수;
--변수;

[후위 연산자]
변수++;
변수--;

우선 ++과 --의 의미는 각각 1을 더하고 1을 빼라 라는 의미를 갖습니다.

전위 연산자는 변수에 먼저 1을 더하거나 빼고 해당 줄의 명령을 실행하라는 의미이고 후위 연산은 해당 줄의 명령을 실행한 후에 변수에 1을 더하거나 빼라는 명령입니다.

let result;
let num = 0;

result = ++num;	//num에 먼저 1을 더하고 result에 저장
result = num++;	//num을 먼저 result에 저장하고 num에 1을 더한다.

 

실제 결과를 보면 다음과 같습니다.

let counter = 0;

console.log(counter++);
console.log(++counter);

결과

 

 

 

3. 산술 연산자를 이용한 문자열 변환

자바스크립트는 산술 연산자를 이용하여 숫자와 문자열을 변환할 수 있습니다.

 

console.log(typeof(109 + ''));
console.log(typeof('109' - 0));

 

단, 아래의 경우에서 '109' + 0과 같은 연산은 그대로 string입니다. +연산은 위에서 언급했듯이 양쪽에 문자열이 하나라도 있다면 둘 다 문자열이 되기때문에 문자열->숫자로 변환이 목적이라면 반드시 -연산을 실시하여야 합니다.

이렇게 간단하게 형변환도 이용할 수 있다는 점도 기억하면 좋습니다.

728x90

댓글