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: