El tipo number
En JavaScript, el tipo de dato Number se utiliza para representar tanto números enteros como números decimales. A diferencia de algunos otros lenguajes de programación, JavaScript no distingue entre enteros y números de punto flotante; todos los números se manejan con el mismo tipo de dato: Number.
1. Características del Tipo de Dato Number #
-
Números Enteros:
- Son números sin decimales.
- Ejemplos:
1let enteroPositivo = 42; 2let enteroNegativo = -7;
-
Números Decimales (de punto flotante):
- Son números con parte decimal.
- Ejemplos:
1let decimal = 3.14; 2let negativoDecimal = -0.5;
-
Valores Especiales:
NaN(Not-a-Number): Representa un valor que no es un número válido, generalmente como resultado de una operación que no tiene sentido numérico.1let noEsUnNumero = "texto" / 2; // Resultado: NaNInfinityy-Infinity: Representan valores infinitos, resultantes de operaciones como dividir por cero.1let infinitoPositivo = 1 / 0; // Resultado: Infinity 2let infinitoNegativo = -1 / 0; // Resultado: -Infinity-0: Aunque parece igual a0, JavaScript también puede manejar un-0, aunque su uso es raro y generalmente no afecta el resultado en la mayoría de los cálculos.
Operaciones con Number #
JavaScript soporta las operaciones matemáticas básicas con números:
-
Suma:
1let suma = 10 + 5; // Resultado: 15 2console.log(suma);Salida de consola 15
-
Resta:
1let resta = 10 - 5; // Resultado: 5 2console.log(resta);Salida de consola 5
-
Multiplicación:
1let multiplicacion = 10 * 5; // Resultado: 50 2console.log(multiplicacion);Salida de consola 50
-
División:
1let division = 10 / 2; // Resultado: 5 2console.log(division);Salida de consola 5
-
Módulo (resto de una división):
1let resto = 10 % 3; // Resultado: 1 2console.log(resto);Salida de consola 1
-
Exponenciación:
1let potencia = 2 ** 3; // Resultado: 8 2console.log(potencia);Salida de consola 8
Precisión y límites del tipo Number #
-
Precisión:
- Los números en JavaScript tienen precisión limitada cuando se trabaja con decimales debido a la forma en que se representan internamente.
- Ejemplo de imprecisión:
1let resultado = 0.1 + 0.2; // Resultado esperado: 0.3, pero da 0.30000000000000004 2console.log(resultado);Salida de consola 0.30000000000000004
-
Límites:
- El valor numérico más grande que puedes representar en JavaScript es aproximadamente
1.7976931348623157e+308, y el más pequeño es5e-324. - Puedes verificar estos límites con
Number.MAX_VALUEyNumber.MIN_VALUE.
- El valor numérico más grande que puedes representar en JavaScript es aproximadamente
Conversiones y funciones útiles #
-
Convertir cadenas a números:
- Puedes convertir una cadena a un número usando
parseInt()para enteros oparseFloat()para decimales. - Ejemplo:
1let entero = parseInt("123"); // Resultado: 123 2let decimal = parseFloat("3.14"); // Resultado: 3.14 3console.log(entero, decimal);Salida de consola 123 3.14
- Puedes convertir una cadena a un número usando
-
Verificar si un valor es un número:
- Usa
isNaN()para verificar si un valor no es un número.1let esNumero = isNaN("texto"); // Resultado: true 2console.log(esNumero);Salida de consola true
- Usa
Resumen del tema
Conceptos clave #
- Formato IEEE 754 de Doble Precisión (64 bits): JavaScript no separa enteros de floats en
Number; todos son de punto flotante de 64 bits. - Valores Especiales:
NaN(Not-a-Number): valor numérico inválido (comprobable conNumber.isNaN()).Infinityy-Infinity: división por cero o superación de límites.
- Imprecisión de Punto Flotante: cálculos binarios como
0.1 + 0.2 === 0.30000000000000004requieren redondeo o librerías matemáticas en finanzas. - Constantes y Parseo:
Number.MAX_SAFE_INTEGER(),Number.parseInt(),Number.parseFloat().
Qué debes recordar #
Todos los números en JavaScript son de tipo Number en punto flotante de 64 bits, lo que genera valores especiales (NaN, Infinity) e imprecisiones decimales conocidas.