Operadores aritméticos

Los operadores aritméticos realizan operaciones aritméticas con números (literales o variables).

Operador Descripción
+ Suma
- Resta
* Multiplicación
** Potencia
/ Division
% Modulus (Resto)
++ Incremento
-- Decremento

Operaciones aritméticas

Una operación aritmética típica opera con dos números. Los dos números pueden ser literales.

Ejm

let x = 100 + 50;

o variables

let x = a + b;

o expresiones

let x = (100 + 50) * a;

Operadores y operandos

Los números (en una operación aritmética) se llaman operandos. La operación (a realizar entre los dos operandos) se define mediante un operador.

Operando Operador Operando
100 + 50

Suma

El operador de adición (+) suma dos operandos

let x = 5;
let y = 2;
let z = x + y;

Resta

El operador resta (-) resta dos operandos

let x = 5;
let y = 2;
let z = x - y;

Multiplicación

El operador multiplicación (*) multiplica dos operandos

let x = 5;
let y = 2;
let z = x * y;

Cociente

El operador división (/) divide dos operandos

let x = 5;
let y = 2;
let z = x / y;

Resto

El operador de módulo (%) devuelve el resto de la división.

let x = 5;
let y = 2;
let z = x % y;

Incremento

El operador de incremento (++) incrementa los números.

let x = 5;
x++;
let z = x;

Decremento

El operador de decremento (--) decrementa los números.

let x = 5;
x--;
let z = x;

Potencia

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

Ejm

let x = 5;
let z = x ** 2;          // EL RESULTADO ES 25

x ** y produce el mismo resultado que Math.pow(x,y).

Ejm

let x = 5;
let z = Math.pow(x,2);   // result is 25

Precedencia de los operadores

La precedencia de operadores describe el orden en que se realizan las operaciones en una expresión aritmética.

Ejm

let x = 100 + 50 * 3;

¿El resultado del ejemplo anterior es igual a 150 * 3 o es igual a 100 + 150?. ¿Se hace primero la suma o la multiplicación?. Como en las matemáticas escolares tradicionales, primero se hace la multiplicación. La multiplicación (*) y la división (/) tienen mayor precedencia que la suma (+) y la resta (-). Y (como en las matemáticas escolares) la precedencia se puede cambiar usando paréntesis.

Ejm

let x = (100 + 50) * 3;

Cuando se usan paréntesis, las operaciones dentro de los paréntesis se calculan primero. Cuando muchas operaciones tienen la misma precedencia (como la suma y la resta), se calculan de izquierda a derecha.

Ejm

let x = 100 + 50 - 3;

Valores de precedencia de los operadores

Value Operator Description Example
21 ( ) Agrupación de expresiones (3 + 4)
       
20 . Member person.name
20 [] Member person["name"]
20 () Llamada a función myFunction()
20 new Create new Date()
       
18 ++ Postfix Increment i++
18 -- Postfix Decrement i--
       
17 ++ Prefix Increment ++i
17 -- Prefix Decrement --i
17 ! no lógico !(x==y)
17 typeof Type typeof x
       
16 ** Potencia 10 ** 2
       
15 * Multiplicación 10 * 5
15 / División 10 / 5
15 % Resto 10 % 5
       
14 + Suma 10 + 5
14 - Resta 10 - 5
       
13 << Shift left x << 2
13 >> Shift right x >> 2
13 >>> Shift right (unsigned) x >>> 2
       
12 < Menos que x < y
12 <= Menos que o igual x <= y
12 > Más que x > y
12 >= Más que o igual x >= y
12 in Propiedad en objeto "PI" in Math
12 instanceof Instancia de objeto instanceof Array
       
11 == Igual x == y
11 === Strict igual x === y
11 != No igual x != y
11 !== Strict no igual x !== y
       
10 & Bit a bit AND x & y
9 ^ Bit a bit XOR x ^ y
8 | Bit a bit OR x | y
7 && AND lógico x && y
6 || OR lógico x || y
5 ?? Nullish Coalescing x ?? y
4 ? : Condición ? "Yes" : "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 Función pausa yield x
1 , Coma 5 , 6