<aside> 💡 연산자(Operator)는 하나 이상의 표현식을 대상으로 산술, 할당, 비교, 논리, 타입, 지수 연산(operation)등을 수행해 하나의 값을 만든다. 이때 연산의 대상을 피연산자(operand)라 한다.
</aside>
피연산자를 대상으로 수학적 계산을 수행해 새로운 숫자 값을 만든다. 산술 연산이 불가능한 경우 NaN을 반환한다.
2개의 피연산자를 산술 연산하여 숫자 값을 만든다.
모든 이항 산술 연산자는 피연산자의 값을 변경하는 부수 효과가 없다.
1개의 피연산자를 산술 연산하여 숫자 값을 만든다.
주의할 점 : 증가/감소 연산자는 피연산자의 값을 변경하는 부수 효과가 있다.
증가/감소 연산자는 위치에 의미가 있다. (아래 예시 확인)
var x = 5, result;
// 선 할당 후 증가(postfix increment operator)
result = x++;
console.log(result, x); // 5 , 6
// 선증가 후할당(prefix increment operator)
result = ++x;
console.log(result, x); // 7, 7
// 선 할당 후 감소(postfix decrement operator)
result = x--;
console.log(result, x); // 7, 6
// 선감소 후할당(prefix increment operator)
result = --x;
console.log(result, x); // 5, 5
숫자 타입이 아닌 피연산자에 + 단항 연산자를 사용하면 피연산자를 숫자 타입으로 변환하여 반환한다. 이때 피연산자를 변경하는 것은 아니고 숫자 타입으로 변환한 값을 생성해서 반환한다.
단항 연산자 - 는 피연산자의 부호를 반전한 값을 반환한다. + 단항 연산자와 마찬가지 역할을 진행