Introducción
Las operaciones matemáticas se encuentran entre las características más fundamentales y universales de cualquier lenguaje de programación. En JavaScript, los números se utilizan con frecuencia para tareas comunes, como encontrar el tamaño de la ventana del navegador, el precio final de una transacción monetaria y calcular la distancia entre elementos en un documento de un sitio web.
Si bien una comprensión de alto nivel de las matemáticas no es un requisito previo para ser un desarrollador capaz, es importante saber qué tipos de operaciones están disponibles en JavaScript y cómo utilizar las matemáticas como una herramienta para realizar tareas prácticas.
A diferencia de otros lenguajes de programación, JavaScript solo tiene un tipo de datos numérico; no se hace distinción entre enteros (enteros positivos o negativos) y flotantes, por ejemplo (números con un punto decimal).
En este tutorial, examinaremos los operadores aritméticos, los operadores de asignación y el orden de las operaciones utilizadas con los tipos de datos numéricos de JavaScript.
Operadores aritméticos
Los operadores aritméticos (operadores aritméticos) son símbolos que indican una operación matemática y devuelven un valor. En la ecuación 3 + 7 = 10
, el +
es la sintaxis que representa la suma.
JavaScript tiene muchos operadores familiares de matemáticas básicas, así como algunos operadores adicionales específicos de programación.
Aquí hay una tabla de referencia de operadores aritméticos de JavaScript.
Operador | Sintaxis | Ejemplo | Definición |
---|---|---|---|
Adición | + |
x + y |
Suma de x e y |
Sustracción | - |
x - y |
Diferencia de x y y |
Multiplicación | * |
x * y |
Producto de x y y |
División | / |
x /y |
Cociente de x y y |
Módulo | % |
x % y |
Resto de x /y |
Exponenciación | ** |
x ** y |
x a la potencia y |
Incremento | ++ |
x++ |
x más uno |
Decremento | -- |
x-- |
x menos uno |
Entraremos en detalle sobre cada uno de estos operadores en este artículo.
Adición y sustracción
Los operadores de suma y resta están disponibles en JavaScript y se pueden utilizar para encontrar la suma y la diferencia de los valores numéricos. JavaScript tiene una calculadora incorporada y las operaciones matemáticas se pueden realizar directamente en la consola.
Podemos hacer una suma simple con números, por ejemplo, sumando 10
y 20
, usando el signo más ( +
).
10 + 20;
30
Además de hacer matemáticas con números simples, también podemos asignar números a variables y realizar los mismos cálculos. En este caso, podemos asignar los valores numéricos x
e y
y colocar la suma z
.
//Assign values to x and y
let x = 10;
let y = 20;
//Add x and y and assign the sum to z
let z = x + y;
console.log(z);
30
De manera similar, usamos el signo menos ( -
) para restar números o variables que representan números.
//Assign values to x and y
let x = 10;
let y = 20;
//Subtract x from y and assign the difference to z
let z = y - x;
console.log(z);
10
También podemos sumar y restar números negativos (decimales) y flotantes.
//Assign values to x and y
let x = -5.2;
let y = 2.5;
//Subtract y from x and assign the difference to z
let z = x - y;
console.log(z);
-7.7
Una cosa interesante a tener en cuenta y tener en cuenta en JavaScript es el resultado de agregar un número y una cadena. Sabemos que 1 + 1
debería ser igual a 2
, pero esta ecuación tendrá resultados inesperados.
let x = 1 + "1";
console.log(x);
typeof x;
11
'string'
En lugar de sumar los dos números, JavaScript convierte la declaración completa en una cadena y los concatena. Es importante tener cuidado con la naturaleza típicamente dinámica de JavaScript, ya que puede tener resultados no deseados.
La suma y la resta son dos de las ecuaciones matemáticas más comunes que usará en JavaScript.
Multiplicación y división
Los operadores de multiplicación y división también están disponibles en JavaScript y se utilizan para encontrar el producto y el cociente de valores numéricos.
Se utiliza un asterisco ( *
) para representar el operador de multiplicación.
//Assign values to x and y
let x = 20;
let y = 5;
//Multiply x by y to get the product
let z = x * y;
console.log(z);
100
La multiplicación se puede utilizar para calcular el precio de un artículo después de aplicar el impuesto sobre las ventas.
const price = 26.5; //Price of item before tax
const taxRate = 0.082; //8.2% tax rate
//Calculate total after tax to two decimal places
let totalPrice = price + (price * taxRate);
totalPrice.toFixed(2);
console.log("Total:", totalPrice);
Total: 28.67
Se utiliza una barra ( /
) para representar el operador de división.
//Assign values to x and y
let x = 20;
let y = 5;
//Divide y into x to get the quotient
let z = x /y;
console.log(z);
4
La división es especialmente útil al calcular el tiempo, como encontrar el número de horas en una cantidad de minutos o al calcular el porcentaje de respuestas correctas completadas en una prueba.
Módulo
Un operador aritmético un poco menos familiar es el operador de módulo (a veces conocido como módulo), que calcula el resto de un cociente después de la división. El módulo está representado por un signo de porcentaje ( %
).
Por ejemplo, sabemos que 3
va exactamente tres veces en 9
y no hay resto.
9 % 3;
0
Podemos usar el operador de módulo para determinar si un número es par o impar, como se ve con esta función:
//Initialize function to test if a number is even
const isEven = x => {
//If the remainder after dividing by two is 0, return true
if (x % 2 === 0) {
return true;
}
//If the number is odd, return false
return false;
}
//Test the number
isEven(12);
true
En el ejemplo anterior, dividimos 12
uniformemente en 2
, por lo que es un número par.
A menudo, en programación, el módulo se usa junto con declaraciones condicionales para el control de flujo.
Exponenciación
La exponenciación es uno de los operadores más nuevos en JavaScript y nos permite calcular la potencia de un número en función de su exponente. La sintaxis de es dos asteriscos en una línea ( **
).
10 elevado a la quinta potencia, o 10 ^ 5
, se escribe así:
10 ** 5;
100000
10 ** 5
representa 10
multiplicado por 10
cinco veces:
10 * 10 * 10 * 10 * 10;
Otra forma de escribir esto es con el método Math.pow()
Math.pow(10, 5);
100000
El uso del operador de exponenciación es una forma concisa de encontrar la potencia de un número dado, pero como de costumbre, es importante mantener la coherencia con el estilo de la base del código al elegir entre un método y un operador.
Aumentar y disminuir
Los operadores de incremento y decremento aumentan o disminuyen el valor numérico de una variable en uno. Están representados por dos signos más ( ++
) o dos signos menos ( --
) y se utilizan a menudo con bucles.
Tenga en cuenta que los operadores de incremento y decremento solo se pueden utilizar en variables; intentar usarlos en un número sin formato resultará en un error.
7++
Uncaught ReferenceError: Invalid left-hand side expression in postfix operation
Los operadores de incremento y decremento se pueden clasificar como operaciones de prefijo o sufijo, dependiendo de si el operador se coloca antes o después de la variable.
Primero, podemos escribir el incremento del prefijo con ++x
.
//Set a variable
let x = 7;
//Use the prefix increment operation
let prefix = ++x;
console.log(prefix);
8
El valor de x
se ha incrementado en uno. Para ver la diferencia, probaremos el incremento de sufijo, con y++
.
//Set a variable
let y = 7;
//Use the prefix increment operation
let postfix = y++;
console.log(postfix);
7
El valor de y
no se incrementó en la operación de sufijo. Esto se debe a que el valor no se incrementará hasta que se haya evaluado la expresión. Hacer esto dos veces aumentará el valor.
let y = 7;
y++;
y++;
console.log(y);
8
El operador de incremento o decremento aparecerá con más frecuencia en un bucle. En este ejemplo, el ciclo for
, realizaremos la operación diez veces, comenzando con 0
y aumentando el valor 1
con cada iteración.
//Run a loop ten times
for (let i = 0; i < 10; i++) {
console.log(i);
}
0
1
2
3
4
5
6
7
8
9
El código anterior muestra una iteración a través de un bucle que se logra utilizando el operador de incremento.
Podemos pensar en x++
como un atajo para x = x + 1
, y x--
como un atajo para x = x - 1
.
Operadores de Asignación
Uno de los operadores más utilizados es el operador de asignación, que ya hemos visto y está representado por un signo igual ( =
). Usamos =
para asignar un valor a la derecha a una variable a la izquierda.
//Assign 27 to age variable
let age = 27;
Además del operador de asignación estándar, JavaScript tiene operadores de asignación compuestos, que combinan un operador aritmético con =
.
Por ejemplo, el operador de suma comenzará con el valor original y agregará un nuevo valor.
//Assign 27 to age variable
let age = 27;
age += 3;
console.log(age);
30
En este caso, age += 3
es lo mismo que la age = age + 3
.
Operador | Sintaxis |
---|---|
Asignación | = |
Asignación de adición | += |
Asignación de resta | -= |
Asignación de multiplicación | *= |
Asignación de división | /= |
Asignación restante | %= |
Asignación de exponenciación | **= |
Los operadores de asignación compuesta se utilizan a menudo con bucles, de forma similar a incrementar y decrementar, y se utilizan cuando es necesario repetir o automatizar ecuaciones.
Precedencia del operador
Aunque leemos de izquierda a derecha, los operadores se evaluarán en orden de precedencia, al igual que en matemáticas normales.
En el siguiente ejemplo, la multiplicación tiene mayor prioridad que la suma, lo que determina el resultado de la ecuación.
//First multiply 3 by 5, then add 10
10 + 3 * 5;
25
Si, por el contrario, queremos realizar primero la operación de suma, debemos agruparla entre paréntesis, que siempre tiene la mayor precedencia.
//First add 10 and 3, then multiply by 5
(10 + 3) * 5;
65
A continuación se muestra una tabla de referencia de la precedencia de operadores de operadores aritméticos en JavaScript, de mayor a menor. Para incrementar y decrementar, el sufijo tiene mayor precedencia que el prefijo.
Incrementar /decrementar, multiplicar /dividir y sumar /restar tienen el mismo nivel de precedencia.
Operador | Sintaxis |
---|---|
Paréntesis | () |
Incrementacion | ++ |
Decrementacion | -- |
Exponenciación | ** |
Multiplicación | * |
División | / |
Adición | + |
Sustracción | - |
La precedencia de operadores incluye no solo operadores aritméticos, sino también operadores de asignación, operadores lógicos, operadores condicionales y más. Para obtener una lista completa, consulte la precedencia de los operadores en Mozilla Developer Network (MDN).
Conclusión
En este artículo, hemos cubierto los operadores aritméticos y la sintaxis, incluidos muchos operadores matemáticos familiares y algunos específicos de programación.
Además, aprendimos cómo combinar aritmética y asignación para crear operadores de asignación compuestos y el orden de las operaciones en JavaScript.