Aritmética de JavaScript

La situación típica de procesamiento de números es la aritmética.

Operadores aritméticos de JavaScript

Los operadores aritméticos ejecutan operaciones aritméticas en valores numéricos (textos o variables).

operador descripción
+ Adición
- Sustracción
* Multiplicación
** Potencia (ES2016
/ División
% Coeficiente
++ Aumento
-- Disminución

Operadores aritméticos

Operaciones aritméticas típicas operan con dos valores numéricos.

Estos dos números pueden ser literals:

instancia

var x = 7 + 8;

prueba por ti mismo

O variable:

instancia

var x = a + b;

prueba por ti mismo

O expresión:

instancia

var x = (7 + 8) * a;

prueba por ti mismo

Operadores y operandos

En las operaciones aritméticas, los números se denominanOperando.

La operación (realizada entre dos operandos) es ejecutada poroperadorDefinición.

Operando operador Operando
7 + 8

Adición

AdiciónOperador (+)Sumando:

var x = 7;
var y = 8;
var z = x + y; 

prueba por ti mismo

Sustracción

SustracciónOperador (-)Sustraendo.

var x = 7;
var y = 8;
var z = x - y; 

prueba por ti mismo

Multiplicación

MultiplicaciónOperador (*)Multiplicador.

var x = 7;
var y = 8;
var z = x * y; 

prueba por ti mismo

División

DivisiónOperador (/)Divisor.

var x = 7;
var y = 2;
var z = x / y; 

prueba por ti mismo

Coeficiente

CoeficienteOperador (%)Devuelve el residuo de la división.

var x = 7;
var y = 2;
var z = x % y; 

prueba por ti mismo

Notas:En la aritmética, la división de dos enteros produce un cociente y un residuo.

Notas:En matemáticas, el resultado de la operación módulo es el residuo de la división aritmética.

Aumento

AumentoOperador (++)Aumenta el valor numérico.

var x = 7;
x++;
var z = x;

prueba por ti mismo

Disminución

DisminuciónOperador (--)Disminuye el valor numérico.

var x = 7;
x--;
var z = x; 

prueba por ti mismo

Potencia

El operador de potencia (**) eleva el primer operando a la potencia del segundo operando.

instancia

var x = 5;
var z = x ** 2;          // El resultado es 25

prueba por ti mismo

El resultado de x ** y es el mismo que Math.pow(x,y):

instancia

var x = 5;
var z = Math.pow(x,2);   // El resultado es 25

prueba por ti mismo

Prioridad del operador

La prioridad del operador (Operator precedence) describe el orden en que se ejecutan las operaciones en una expresión aritmética.

instancia

var x = 200 + 50 * 2;

prueba por ti mismo

¿El resultado del ejemplo es 250 * 2 o 200 + 100?

¿Tiene prioridad la suma o la multiplicación?

En la matemática tradicional de la escuela, la multiplicación tiene prioridad.

multiplicación (*()) y división (%()) y suma (+()) y resta (-()) tiene una prioridad mayorprioridad.

Al mismo tiempo, (como en la matemática de la escuela), se puede cambiar la prioridad utilizando paréntesis:

instancia

var x = (200 + 50) * 2;

prueba por ti mismo

Cuando se utilizan paréntesis, las operaciones dentro de los paréntesis se calculan primero.

Cuando múltiples operaciones tienen la misma prioridad (por ejemplo, suma y resta), su cálculo es de izquierda a derecha:

instancia

var x = 200 + 50 - 2;

prueba por ti mismo

valor de prioridad del operador de JavaScript

valor operador descripción instancia
20 ( ) agrupación de expresiones (3 + 4)
       
19 . miembro person.name
19 [] miembro person["name"]
19 () llamada a función myFunction()
19 new crear new Date()
       
17 ++ aumento sufijo i++
17 -- decremento sufijo i--
       
16 ++ aumento prefijo ++i
16 -- decremento prefijo --i
16 ! Negación lógica !(x==y)
16 typeof tipo typeof x
       
15 ** potencia (ES7) 10 ** 2
       
14 * multiplicación 10 * 5
14 / división 10 / 5
14 % división modular 10 % 5
       
13 + suma 10 + 5
13 - resta 10 - 5
       
12 << desplazamiento a la izquierda x << 2
12 >> desplazamiento a la derecha x >> 2
12 >>> desplazamiento a la derecha (sin signo) x >>> 2
       
11 < menor x < y
11 <= menor o igual x <= y
11 > mayor x > y
11 >= mayor o igual x >= y
11 en propiedad del objeto "PI" en Math
11 instancia de instancia de objeto instancia de Array
       
10 == igual x == y
10 === igual estrictamente x === y
10 != Desigualdad x != y
10 !== Desigualdad estricta x !== y
       
9 & Y lógico x & y
8 ^ XOR lógico x ^ y
7 | O lógico x | y
6 && Conjunción lógica x && y
5 || Negación lógica x || y
4 ? : Condicional ? "Sí" : "No"
       
3 = asignación x = y
3 += asignación x += y
3 -= asignación x -= y
3 *= asignación x *= y
3 %= asignación x %= y
3 <<= asignación x <<= y
3 >>= asignación x >>= y
3 >>>= asignación x >>>= y
3 &= asignación x &= y
3 ^= asignación x ^= y
3 |= asignación x |= y
       
2 yield yield x pausar función
1 , Coma 7, 8

Nota:Rosado pálido indica tecnologías experimentales o sugeridas (ECMASScript 2016 o ES7)

Consejo:La expresión dentro de los paréntesis se calculará completamente antes de que el valor se utilice en el resto de la expresión.