Operadores aditivos ECMAScript

En la mayoría de los lenguajes de programación, el operador aditivo (es decir, el símbolo de suma o resta) es el operador matemático más simple.

En ECMAScript, el operador aditivo tiene una gran cantidad de comportamientos especiales.

Operador de adición

El operador de adición se representa con el símbolo (+):

var iResult = 1 + 2

Al igual que los operadores multiplicativos, la adición en ECMAScript tiene ciertos comportamientos especiales al manejar valores especiales:

  • Si algún operando es NaN, el resultado es NaN.
  • -Infinity más -Infinity, el resultado es -Infinity.
  • Infinity más -Infinity, el resultado es NaN.
  • +0 más +0, el resultado es +0.
  • -0 más +0, el resultado es +0.
  • -0 más -0, el resultado es -0.

Sin embargo, si algún operando es una cadena, se aplican las siguientes reglas:

  • Si ambos operandos son cadenas, la segunda cadena se concatena a la primera.
  • Si solo uno de los operandos es una cadena, convierte al otro operando en una cadena y el resultado es la concatenación de dos cadenas.

Por ejemplo:

var result = 5 + 5;	//Dos números
alert(result);		//Salida "10"
var result2 = 5 + "5";	//Un número y una cadena
alert(result2);		//Salida "55"

Este código ilustra la diferencia entre dos modos del operador de adición. Normalmente, 5+5 es igual a 10 (valor original), como se muestra en las dos primeras líneas del código anterior. Sin embargo, si se cambia uno de los operandos a una cadena "5", el resultado será "55" (valor de cadena original), porque el otro operando también se convertirá en una cadena.

Nota:Para evitar un error común en JavaScript, al usar el operador de adición, es necesario revisar cuidadosamente el tipo de datos de los operandos.

Operador de sustracción

El operador de sustracción (-) es también un operador común:

var iResult = 2 - 1;

Al igual que el operador de adición, el operador de sustracción también tiene comportamientos especiales al manejar valores especiales:

  • Si algún operando es NaN, el resultado es NaN.
  • Infinity menos Infinity, el resultado es NaN.
  • -Infinity menos -Infinity, el resultado es NaN.
  • Infinity menos -Infinity, el resultado es Infinity.
  • -Infinity menos Infinity, el resultado es -Infinity.
  • +0 menos +0, el resultado es +0.
  • -0 menos -0, el resultado es -0.
  • +0 menos -0, el resultado es +0.
  • Si algún operando no es un número, el resultado es NaN.

Notas:Si todos los operandos son números, se realiza la operación de sustracción normal y se devuelve el resultado.