Lección 08: Operadores Aritméticos
🧠 Concepto
Section titled “🧠 Concepto”Los operadores aritméticos nos permiten hacer cálculos matemáticos en JavaScript. Son los mismos que usaste en la escuela, con algunos adicionales propios de la programación.
Los operadores básicos
Section titled “Los operadores básicos”| Operador | Nombre | Ejemplo | Resultado |
|---|---|---|---|
+ | Suma | 5 + 3 | 8 |
- | Resta | 5 - 3 | 2 |
* | Multiplicación | 5 * 3 | 15 |
/ | División | 10 / 3 | 3.333… |
% | Módulo (resto) | 10 % 3 | 1 |
** | Exponenciación | 2 ** 3 | 8 |
Precedencia de operadores
Section titled “Precedencia de operadores”JavaScript respeta el orden de operaciones de las matemáticas:
- Paréntesis
() - Exponenciación
** - Multiplicación, división, módulo
* / % - Suma y resta
+ -
console.log(2 + 3 * 4); // 14 (no 20)console.log((2 + 3) * 4); // 20console.log(10 - 2 * 3); // 4console.log(2 ** 3 * 2); // 16Incremento y decremento
Section titled “Incremento y decremento”Pre-incremento (++variable): primero incrementa, luego usa el valor. Post-incremento (variable++): primero usa el valor, luego incrementa.
let a = 5;console.log(++a); // 6 (incrementa y luego muestra)console.log(a); // 6
let b = 5;console.log(b++); // 5 (muestra y luego incrementa)console.log(b); // 6Lo mismo aplica para -- (decremento).
NaN e Infinity
Section titled “NaN e Infinity”- NaN (Not a Number): resultado de operaciones matemáticas inválidas.
- Infinity: valor más grande que cualquier número finito.
console.log(0 / 0); // NaNconsole.log('texto' * 2); // NaNconsole.log(1 / 0); // Infinityconsole.log(-1 / 0); // -Infinity💻 Ejemplo
Section titled “💻 Ejemplo”// Operaciones básicaslet a = 10;let b = 3;
console.log('Suma:', a + b); // 13console.log('Resta:', a - b); // 7console.log('Multiplicación:', a * b); // 30console.log('División:', a / b); // 3.333...console.log('Módulo (resto):', a % b); // 1console.log('Exponenciación:', a ** b); // 1000
// Precedenciaconsole.log('Sin paréntesis:', 5 + 3 * 2); // 11console.log('Con paréntesis:', (5 + 3) * 2); // 16
// Incrementolet contador = 0;console.log('Post-incremento:', contador++); // 0console.log('Después:', contador); // 1
// NaN e Infinityconsole.log('NaN:', 0 / 0);console.log('Infinity:', 1 / 0);📝 Ejercicio
Section titled “📝 Ejercicio”- Crea un archivo
operadores-aritmeticos.js. - Declara dos variables numéricas
xyy. - Calcula e imprime: suma, resta, multiplicación, división, módulo y exponenciación.
- Calcula:
(x + y) * 2yx + y * 2. ¿Son iguales? - Usa incremento y pre-incremento para ver la diferencia.
let x = 15;let y = 4;
console.log('x + y =', x + y);console.log('x - y =', x - y);console.log('x * y =', x * y);console.log('x / y =', x / y);console.log('x % y =', x % y);console.log('x ** y =', x ** y);
console.log('(x + y) * 2 =', (x + y) * 2);console.log('x + y * 2 =', x + y * 2);
let z = 5;console.log('z++:', z++);console.log('++z:', ++z); // ¿qué valor esperas aquí?⚠️ Nota
Section titled “⚠️ Nota”En JavaScript, la división entre cero no lanza un error. En su lugar devuelve Infinity o -Infinity. Solo 0/0 da NaN. Esto es diferente a muchos otros lenguajes donde dividir entre cero lanza una excepción.
El operador módulo % es muy útil para saber si un número es par o impar:
if (numero % 2 === 0) { console.log('Es par');} else { console.log('Es impar');}También se usa para “envolver” valores, como en juegos o relojes.