[Javascript] 산술 연산자

Bam·2022년 2월 18일
0

Javascript

목록 보기
10/106
post-thumbnail

연산자

연산자란 변수나 리터럴(데이터에 보관되는 값이나 값의 표현 방식)에 미리 정의된 처리를 하기 위한 약속된 기호들입니다. 연산자에 따라 다른 처리를 합니다.


산술 연산자

산술 연산자는 다음과 같은 종류가 있습니다.

일반적으로 현실에서 사칙연산을 수행할 때 이용하는 것과 동일한 일을 합니다. 하지만 몇 가지 주의점이 있습니다.


+ 연산자

+ 연산자는 일반적으로 식에 대해 덧셈을 합니다. 문제는 자료형에 따라서 동작이 다르다는 것입니다. 다음과 같은 코드는 어떤 결과를 보일까요?

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

문자열인 '10'과 숫자인 3을 더하고 있습니다. 이런 경우 자바스크립트는 다음과 같은 결과를 뱉습니다.

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

//typeof: 뒤에 오는 변수나 식의 자료형이 무엇인지 알려주는 연산자

'103'이라는 문자열을 결과로 출력했습니다. 이는 숫자 3에 '10'을 더하는 방식으로 바꿔도 동일하게 동작합니다.

이것으로 보아 + 연산자는 연산에서 문자열이 포함되어 있다면, 무조건 문자열로 반환된다라는 것을 알 수 있습니다. + 연산자는 다음과 같은 경우 문자열을 반환합니다.

  • 연산 과정에서 문자열이 하나라도 있는 경우
  • 문자열 끼리 합치는 경우

그래서 + 연산자는 숫자 계산 뿐 만 아니라 문자열을 합치는데에도 이용합니다.

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

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


전위 연산자와 후위 연산자

++전위 연산자후위 연산자++는 실생활에서는 사용되지 않는 생소한 산술 연산자입니다. 전위 연산자는 변수 앞에 연산자(++, --)를 붙여 사용하고, 후위 연산자는 변수 뒤에 연산자를 붙여 사용합니다.

++--는 각각 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);


산술 연산자를 이용한 형변환

산술 연산자를 이용하면 숫자와 문자열을 쉽게 변환할 수 있습니다.

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


이처럼 숫자 -> 문자열 연산은 + 연산자를 사용하고, 문자열 -> 숫자를 하기 위해서는 - 연산자를 이용하면 쉽게 형변환이 이루어집니다.

0개의 댓글