En esta lección se presentan operadores numéricos.
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
.
Aparte del operador de asignación
(=
),
hay otros operadores que permiten cambiar el valor de una variable.
También hay operadores de incremento y decremento en 1, pero son algo truculentos; es mejor usarlos solos, sin combinarlos con otros operadores.
El operador binario
<
representa el orden natural de los datos. Si el valor a la izquierda
va antes que el de la derecha, el resultado es
true
;
en otro caso es
false
.
El operador binario
>
representa el orden invertido de los datos. Si el valor a la izquierda
va después que el de la derecha, el resultado es
true
;
en otro caso es
false
.
En el ejemplo que sigue, el orden natural es:
0 < 3 < 8
En el ejemplo que sigue, el orden natural es:
0 < 3 < 8
Aquí se muestra el orden en que se ejecutan los operadores cuando se combinan en una expresión. Los que aparecen primero son los que se ejecutan primero.
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 |
Hay que aprender a estructurar las expresiones matemáticas en el lenguaje de programación.
x = (-b + Math.sqrt(b**2 - 4*a*c)) / (2*a)
y = ((y2 - y1) / (x2 - x1)) * (x - x1) + y1
El objeto
Math
.
Se revisaron los siguientes operadores sobre texto:
+
+=
`${}`
<
>
<=
>=