ECMAScript 덧 연산자

많은 프로그래밍 언어에서 덧셈 연산자(즉, 加호기나 뺄호기)는 가장 간단한 수학 연산자로 사용됩니다.

ECMAScript에서 덧셈 연산자는 많은 특수한 동작을 가집니다.

덧셈 연산자

법 연산자는 加호기(+로) 표시됩니다:

var iResult = 1 + 2

곱셈 연산자와 마찬가지로, ECMAScript에서의 덧셈도 특수한 값을 처리할 때 특수한 동작이 있습니다:

  • 어떤 연산자가 NaN이면, 결과는 NaN입니다.
  • -Infinity 加 -Infinity, 결과는 -Infinity입니다.
  • Infinity 加 -Infinity, 결과는 NaN입니다.
  • +0에서 +0을 더하는 경우, 결과는 +0입니다.
  • -0에서 +0을 더하는 경우, 결과는 +0입니다.
  • -0에서 -0을 더하는 경우, 결과는 -0입니다.

그러나 문자열이 하나의 연산자인 경우, 다음과 같은 규칙을 따릅니다:

  • 두 개의 연산자가 모두 문자열이면, 두 번째 문자열을 첫 번째 문자열에 연결합니다.
  • 만약 하나의 연산자만 문자열이면, 다른 연산자를 문자열로 변환하여 두 개의 문자열을 연결한 문자열이 됩니다.

예를 들어:

var result = 5 + 5;	// 두 개의 숫자
alert(result);		// "10" 출력
var result2 = 5 + "5";	// 하나의 숫자와 문자열
alert(result2);		// "55" 출력

이 코드는 덧셈 연산자의 두 가지 모드 간의 차이를 설명합니다. 일반적으로 5+5는 10(원래 값)으로 등가합니다(위 코드의 앞 두 행과 같이). 그러나 하나의 연산자를 문자열 "5"로 변경하면 결과는 "55"(원래 문자열 값)이 됩니다. 이는 다른 연산자도 문자열로 변환된다는 것입니다.

주의:JavaScript에서 일반적인 오류를 피하기 위해, 덧셈 연산자를 사용할 때는 반드시 연산자의 데이터 타입을 주의 깊게 확인해야 합니다.

뺄 연산자

뺄 연산자(-)는 흔히 사용되는 연산자입니다:

var iResult = 2 - 1;

덧셈 연산자와 마찬가지로, 특수 값을 처리할 때 덧셈 연산자도 특수한 동작을 합니다:

  • 어떤 연산자가 NaN이면, 결과는 NaN입니다.
  • Infinity에서 Infinity를 뺄 경우, 결과는 NaN입니다.
  • -Infinity에서 -Infinity를 뺄 경우, 결과는 NaN입니다.
  • Infinity에서 -Infinity를 뺄 경우, 결과는 Infinity입니다.
  • -Infinity에서 Infinity를 뺄 경우, 결과는 -Infinity입니다.
  • +0에서 +0을 뺄 경우, 결과는 +0입니다.
  • -0에서 -0을 뺄 경우, 결과는 -0입니다.
  • +0에서 -0을 뺄 경우, 결과는 +0입니다.
  • 어떤 연산자가 숫자가 아니면, 결과는 NaN입니다.

주의:계산자가 모두 숫자인 경우, 일반적인 뺄 연산을 수행하고 결과를 반환합니다.