MEJOR SITIO PARA DESARROLLADORES WEB

JS Tutorial

JS HOGAR JS Introducción JS A donde JS Producción JS Declaraciones JS Sintaxis JS Comentarios JS Variables JS Let JS Const JS Operadores JS Aritmética JS Asignación JS Tipos de datos JS Funciones JS Objetos JS Eventos JS Cadenas JS Métodos de cadena JS Búsqueda de cadenas JS Plantillas de cadenas JS Números JS Métodos numéricos JS Matrices JS Métodos de matriz JS Clasificación de matrices JS Iteración de matriz JS Array Const JS Fechas JS Formatos de fecha JS Métodos de obtención de fecha JS Métodos de configuración de fechas JS Math JS aleatorio JS Booleanos JS Comparaciones JS If Else JS Switch JS Bucle For JS Bucle For In JS Bucle For Of JS Bucle While JS Break JS Iterables JS Conjuntos JS Maps JS Tipo de JS Conversión de tipo JS Bitwise JS RegExp JS Errores JS Alcance JS Hoisting JS Modo estricto JS this palabra clave JS Función de flecha JS Clases JS Módulos JS JSON JS Depuración JS Guía de estilo JS Mejores prácticas JS Errores JS Rendimiento JS Palabras reservadas

JS Versiones

JS Versiones JS 2009 (ES5) JS 2015 (ES6) JS 2016 JS 2017 JS 2018 JS 2019 JS 2020 JS 2021/2022 JS IE / Edge JS Historia

JS Objetos

Objeto Definiciones Objeto Propiedades Objeto Métodos Objeto Display Objeto Accesorios Objeto Constructores Objeto Prototipos Objeto Iterables Objeto Conjuntos Objeto Mapas Objeto Referencia

JS Funciones

Función Definiciones Función Parámetros Función Invocación Función Llamar Función Aplicar Función Unir Función Cierres

JS Clases

Clase Introducción Clase Herencia Clase Estático

JS Asíncrono

JS Devoluciones de llamada JS Asincrónico JS Promesas JS Async/Await

JS HTML DOM

DOM Introducción DOM Métodos DOM Documento DOM Elementos DOM HTML DOM Formularios DOM CSS DOM Animaciones DOM Eventos DOM Oyente de eventos DOM Navegación DOM Nodos DOM Colecciones DOM Listas de nodos

JS Navegador BOM

JS Ventana JS Pantalla JS Ubicación JS Historia JS Navegador JS Alerta emergente JS Momento JS Cookies

JS Web APIs

Web API Introducción API de formularios web API de historial web API de almacenamiento web API de trabajador web API de recuperación web API de geolocalización web

JS AJAX

AJAX Introducción AJAX XMLHttp AJAX Pedido AJAX Respuesta AJAX XML Archivo AJAX PHP AJAX ASP AJAX Base de datos AJAX Aplicaciones AJAX Ejemplos

JS JSON

JSON Introducción JSON Sintaxis JSON vs XML JSON Tipos de datos JSON Analizar JSON Stringificar JSON Objetos JSON Matrices JSON Servidor JSON PHP JSON HTML JSON JSONP

JS vs jQuery

jQuery Selectores jQuery HTML jQuery CSS jQuery DOM

JS Gráficos

JS Gráficos JS Canvas JS Plotly JS Chart.js JS Google Chart JS D3.js

JS Ejemplos

JS Ejemplos JS HTML DOM JS HTML Input JS HTML Objetos JS HTML Eventos JS Navegador JS Editor JS Ejercicios JS Prueba JS Bootcamp JS Certificado

JS Referencias

JavaScript Objetos HTML DOM Objetos

JavaScript. W3Schools en español. Lecciones para principiantes

Ua En De Fr

JavaScript Aritmética


Operadores aritméticos de JavaScript

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

Operador Descripción
+ Suma
- Sustracción
* Multiplicación
** Exponenciación (ES2016)
/ División
% Módulo (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:

Ejemplo

let x = 100 + 50;
Try it Yourself »

o variables:

Ejemplo

let x = a + b;
Try it Yourself »

o expresiones:

Ejemplo

let x = (100 + 50) * a;
Try it Yourself »

Operadores y operandos

Los números (en una operación aritmética) se llaman operandos.

La operación (que se realizará entre los dos operandos) se define por un operador.

Operando Operador Operando
100 + 50

Añadiendo

El operador adición (+) agrega números:

Ejemplo

let x = 5;
let y = 2;
let z = x + y;
Try it Yourself »

Subtracción

El operador subtracción (-) resta números.

Ejemplo

let x = 5;
let y = 2;
let z = x - y;
Try it Yourself »

Multiplicando

El operador multiplicación (*) multiplica números.

Ejemplo

let x = 5;
let y = 2;
let z = x * y;
Try it Yourself »

Dividiendo

El operador división (/) divide números.

Ejemplo

let x = 5;
let y = 2;
let z = x / y;
Try it Yourself »

Resto

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

Ejemplo

let x = 5;
let y = 2;
let z = x % y;
Try it Yourself »

En aritmética, la división de dos números enteros produce un cociente y un resto.

En matemáticas, el resultado de una operación de módulo es el resto de una división aritmética.


Incrementando

El operador increment (++) incrementa los números.

Ejemplo

let x = 5;
x++;
let z = x;
Try it Yourself »

Decremento

El operador decremento (--) disminuye los números.

Ejemplo

let x = 5;
x--;
let z = x;
Try it Yourself »

Exponenciación

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

Ejemplo

let x = 5;
let z = x ** 2;          // El resultado es 25
Try it Yourself »

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

Ejemplo

let x = 5;
let z = Math.pow(x,2);   // El resultado es 25
Try it Yourself »

Prioridad del operador

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

Ejemplo

let x = 100 + 50 * 3;
Try it Yourself »

¿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 resta (-).

Y (como en las matemáticas escolares) la precedencia se puede cambiar utilizando paréntesis:

Ejemplo

let x = (100 + 50) * 3;
Try it Yourself »

Al usar paréntesis, las operaciones dentro de los paréntesis se calculan primero.

Cuando muchas operaciones tienen la misma precedencia (como suma y resta), se calculan de izquierda a derecha:

Ejemplo

let x = 100 + 50 - 3;
Try it Yourself »

Valores de precedencia del operador de JavaScript

Las entradas de color rojo pálido indican ECMAScript 2015 (ES6) o superior.

Valor Operador Descripción Ejemplo
21 ( ) Agrupación de expresiones (3 + 4)
       
20 . Miembro person.name
20 [] Miembro person["name"]
20 () Llamada de función myFunction()
20 new Crear new Date()
       
18 ++ Incremento postfix i++
18 -- Decremento de sufijo i--
       
17 ++ Incremento de prefijo ++i
17 -- Decremento de prefijo --i
17 ! Lógico no !(x==y)
17 typeof Tipo typeof x
       
16 ** Exponenciación (ES2016) 10 ** 2
       
15 * Multiplicación 10 * 5
15 / División 10 / 5
15 % Resto de la división 10 % 5
       
14 + Suma 10 + 5
14 - Sustracción 10 - 5
       
13 << Cambiar a la izquierda x << 2
13 >> Cambiar a la derecha x >> 2
13 >>> Cambiar a la derecha (sin firmar) x >>> 2
       
12 < Menos que x < y 
12 <= Menor o igual x <= y
12 > Más que x > y
12 >= Mayor o igual x >= y
12 in Propiedad en objeto "PI" in Math
12 instanceof Instancia de objeto instanceof Array
       
11 == Igual x == y
11 === igualdad estricta x === y
11 != Desigual x != y
11 !== Estricto desigual x !== y
       
10 & Bit a bit AND x & y
9 ^ Bit a bit XOR x ^ y
8 | Bit a bit OR x | y
7 && Lógico AND x && y
6 || Lógico OR x || y
5 ?? Coalescencia nula 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 de pausa yield x
1 , Coma 5 , 6

Las expresiones entre paréntesis se calculan completamente antes de que el valor se use en el resto de la expresión.


Ponte a prueba con ejercicios

Ejercicio:

Divide 10 by 2, y alerta al resultado.

alert(10  2);