3.1 Tipo Number
Los números en JavaScript juegan un papel importante cuando se trabaja con datos y al realizar cálculos. El lenguaje ofrece muchas posibilidades para trabajar con números, incluyendo varios tipos de operaciones y métodos incorporados.
En JavaScript existe un tipo de dato para números — Number. Este tipo de datos representa tanto enteros como números de punto flotante. Además, a partir de 2020, se introdujo el tipo BigInt para trabajar con números enteros muy grandes.
Ejemplos:
let integer = 42; // Número entero
let float = 3.14; // Número de punto flotante
let bigInt = 12345678901234567890n; // Número entero grande
Operaciones con números
Operaciones aritméticas:
Operación | Sintaxis | Descripción | Ejemplo | Resultado |
---|---|---|---|---|
Suma | a + b | Suma dos números | 5 + 3 | 8 |
Resta | a - b | Resta un número de otro | 10 - 4 | 6 |
Multiplicación | a * b | Multiplica dos números | 7 * 3 | 21 |
División | a / b | Divide un número por otro | 20 / 5 | 4 |
Resto de la división | a % b | Devuelve el resto de la división | 10 % 3 | 1 |
Exponenciación | a ** b | Eleva un número a una potencia | 2 ** 3 | 8 |
Incremento y decremento
Operación | Sintaxis | Descripción | Ejemplo | Resultado |
---|---|---|---|---|
Incremento | ++a | Aumenta el valor en uno (prefijo) | let a = 5; ++a; |
6 |
Incremento | a++ | Aumenta el valor en uno (postfijo) | let a = 5; a++; |
5 (y luego 6) |
Decremento | --b | Disminuye el valor en uno (prefijo) | let b = 5; --b; |
4 |
Decremento | b-- | Disminuye el valor en uno (postfijo) | let b = 5; b--; |
5 (y luego 4) |
Operaciones combinadas
Operación | Sintaxis | Descripción | Ejemplo | Resultado |
---|---|---|---|---|
Suma con asignación | a += b | Suma y asigna el resultado | let x = 10; x += 5; |
15 |
Resta con asignación | a -= b | Resta y asigna el resultado | let x = 10; x -= 3; |
7 |
Multiplicación con asignación | a *= b | Multiplica y asigna el resultado | let x = 10; x *= 2; |
20 |
División con asignación | a /= b | Divide y asigna el resultado | let x = 10; x /= 2; |
5 |
Resto con asignación | a %= b | Encuentra el resto y asigna el resultado | let x = 10; x %= 3; |
1 |
3.2 Métodos incorporados
En JavaScript hay un objeto incorporado Math
para realizar varias operaciones matemáticas.
1. Math.round():
Redondea un número al entero más cercano.
let rounded = Math.round(4.6); // 5
2. Math.ceil():
Redondea un número hacia arriba al entero más cercano.
let ceil = Math.ceil(4.2); // 5
3. Math.floor():
Redondea un número hacia abajo al entero más cercano.
let floor = Math.floor(4.8); // 4
4.Math.random():
Devuelve un número aleatorio en un rango de 0 a 1.
let random = Math.random();
5. Math.max() y Math.min():
Devuelven el valor máximo y mínimo de un conjunto de números.
let max = Math.max(1, 2, 3, 4); // 4
let min = Math.min(1, 2, 3, 4); // 1
6. Math.sqrt():
Devuelve la raíz cuadrada de un número.
let sqrt = Math.sqrt(16); // 4
7. Math.pow():
Devuelve un número elevado a una potencia dada.
let pow = Math.pow(2, 3); // 8
3.3 Parseo de cadenas a números
Función parseInt():
Convierte una cadena de texto a un número entero.
let int = parseInt('123'); // 123
Función parseFloat():
Convierte una cadena de texto a un número de punto flotante.
let float = parseFloat('3.14'); // 3.14
Función Number():
Convierte un valor a un número.
let num = Number('42'); // 42
Comprobación de valores
Función isNaN():
Comprueba si un valor es NaN (Not-a-Number).
let isNotNumber = isNaN('hello'); // true
Función isFinite():
Comprueba si un valor es un número finito (o si es infinito).
let finite = isFinite(10); // true
let notFinite = isFinite(Infinity); // false
3.4 Particularidades de los números en JavaScript
1. Límites numéricos
En JavaScript, los números se representan en un formato de punto flotante de doble precisión, lo que conlleva ciertas limitaciones:
- Valor máximo: Number.MAX_VALUE
- Valor mínimo: Number.MIN_VALUE
- Infinito positivo: Infinity
- Infinito negativo: -Infinity
- No es un número (NaN): un valor que no es un número
2. Precisión de los números
Trabajar con números de punto flotante puede conducir a problemas de precisión:
let sum = 0.1 + 0.2;
console.log(sum); // 0.30000000000000004
Esto sucede en todos los lenguajes de programación – JavaScript no es una excepción.
3.Números enteros seguros
En JavaScript, existe el concepto de números enteros "seguros", que pueden representarse con precisión como números de punto flotante:
- Número entero seguro máximo:
Number.MAX_SAFE_INTEGER (253 - 1)
- Número entero seguro mínimo:
Number.MIN_SAFE_INTEGER (-(253 - 1))
GO TO FULL VERSION