20. Más números

Versión para imprimir.

En esta lección se presentan operadores numéricos.

A. Recta numérica

Imagen de la recta numérica

Los números a la izquierda son menores que los de la derecha.

0

Es el centro de la recta.

Number.MIN_VALUE

Es el valor positivo más cercano a 0; aproximadamente 5 × 10-324

-Number.MIN_VALUE

Es el valor negativo más cercano a 0; aproximadamente -5 × 10-324.

Number.MAX_SAFE_INTEGER

El entero más positivo n para el cual n y n + 1 se pueden representar como un número exacto. Su valor es 9007199254740991.

Number.MIN_SAFE_INTEGER

El entero más negativo n para el cual n y n - 1 se pueden representar como un número exacto. Su valor es -9007199254740991.

Number.MAX_VALUE

Es el valor numérico finito más positivo, aproximadamente 1.7976931348623157 × 10308.

-Number.MAX_VALUE

Es el valor numérico finito más negativo, aproximadamente -1.7976931348623157 × 10308.

Number.POSITIVE_INFINITY

Representa a todos los valores mayores que Number.MAX_VALUE.

Number.NEGATIVE_INFINITY

Representa a todos los valores menores que -Number.MAX_VALUE.

B. Operadores aritméticos

// Suma
console.log(5 + 2)  // 7
// Resta
console.log(5 - 2)  // 3
// Multiplicación
console.log(5 * 2)  //10
// Potencia
console.log(5 ** 2) //25
// División
console.log(5 / 2)  // 2.5
// Módulo o residuo
console.log(5 % 2)  // 1

C. Operadores aritméticos con asignación

Ejemplo

let b = 4
const d = 5
b = d * 2 // b === 10
console.log(b)
b += d // b = b + d; b === 15
console.log(b)
b -= 2 // b = b - 2; b === 13
console.log(b)
b *= 3 // b = b * 3; b === 39
console.log(b)
b /= 3 // b = b / 3; b === 13
console.log(b)
b %= 5 // b = b % 5; b === 3
console.log(b)
b **= 2 // b = b ** 2; b === 9
console.log(b)

D. Los operadores de incremento y decremento

Ejemplo

let z = 0
console.log(z) // 0
// Incremento. Aumenta z en 1.
z++
// z === 1
console.log(z) // 1
// Decremento. Disminuye z en 1.
z--
// z === 0
console.log(z) // 0

E. Los operadores de igualdad y desigualdad

// Igual que (===)
console.log(3 === 3)  //true
console.log(3 === -3) //false
// Diferente de (!==)
console.log(3 !== 3)  // false
console.log(3 !== 8)  // true

F. Los operadores de orden

// Menor que (<)
console.log(3 < 0) // false
console.log(3 < 3) // false
console.log(3 < 8) // true
// Mayor que (>)
console.log(3 > 0) // true
console.log(3 > 3) // false
console.log(3 > 8) // false

G. Los operadores de orden e igualdad

// Menor o igual que (<=)
console.log(3 <= 0) // false
console.log(3 <= 3) // true
console.log(3 <= 8) // true
// Mayor o igual que (>=)
console.log(3 >= 0) // true
console.log(3 >= 3) // true
console.log(3 >= 8) // false

H. Precedencia de operadores

Orden Descripción Asociatividad Operador ejempo
1 agrupamiento n/a (…) (2 + 3)
2 miembro izquierda a derecha ….… a.b
…[…] a[0]
new n/a new …(…) new Clase(0)
invocación a función izquierda a derecha …(…) fn(x)
3 incremento sufijo n/a …++ a++
decremento sufijo n/a …-- a--
4 incremento prefijo n/a ++… ++a
decremento prefijo n/a --… --a
not lógico derecha a izquierda !… !a
not a nivel de bits derecha a izquierda ~… ~a
+ unario derecha a izquierda +… +a
negación unaria derecha a izquierda -… -a
typeof derecha a izquierda typeof … typeof a
void derecha a izquierda void … void a
delete derecha a izquierda delete … delete a.nombre
5 exponenciación n/a … ** … a ** b
6 multiplicación izquierda a derecha … * … a * b
división izquierda a derecha … / … a / b
residuo izquierda a derecha … % … a % b
7 suma izquierda a derecha … + … a + b
resta izquierda a derecha … - … a - b
8 corrimiento de bits izquierda a derecha … << … a << b
… >> … a >> b
… >>> … a >>> b
9 relacional izquierda a derecha … < … a < b
… <= … a <= b
… > … a > b
… >= … a >= b
in izquierda a derecha … in … "nombre" in a
instanceof izquierda a derecha … instanceof … a instanceof Array
10 igualdad izquierda a derecha … == … a == b
… != … a != b
… === … a === b
… !== … a !== b
11 and de bits izquierda a derecha … & … a & b
12 xor de bits izquierda a derecha … ^ … a ^ b
13 or de bits izquierda a derecha … | … a | b
14 and lógico izquierda a derecha … && … a && b
15 or lógico izquierda a derecha … || … a || b
16 condicional derecha a izquierda … ? … : … a ? b : c
17 asignación derecha a izquierda … = … a = b
… += … a += b
… -= … a -= b
… *= … a *= b
… /= … a /= b
… %= … a %= b
… <<= … a <<= b
… >>= … a >>= b
… >>>= … a >>>= b
… &= … a &= b
… ^= … a ^= b
… |= … a |= b
18 yield derecha a izquierda yield … yield a
19 coma izquierda a derecha … , … a , b

Fuentes:

I. De matemáticas a programación

Ejemplos de expresiones aritméticas expresadas en JavaScript

x = (-b + Math.sqrt(b**2 - 4*a*c)) / (2*a)

x = (-b + Math.sqrt(b**2 - 4*a*c)) / (2*a)

y = ((y2 - y1) / (x2 - x1)) * (x - x1) + y1

y = ((y2 - y1) / (x2 - x1)) * (x - x1) + y1

Temas por Investigar

  • El objeto Math.

J. Resumen

Se revisaron los siguientes operadores sobre texto: