Tipo de dato primitivo: number

Clase 13 de 80Curso de JavaScript Desde Cero

Contenido del curso

Primeros Pasos

Funciones y This

Resumen

¿Qué son los tipos de datos numéricos en JavaScript?

La manipulación de números puede parecer básica, pero en JavaScript, entender cómo funciona su tipología es crucial para cualquier programador. Existen varios tipos de números en JavaScript, pero todos ellos se representan principalmente bajo el tipo de dato primitivo number. Vamos a profundizar en los diferentes tipos y sus particularidades.

¿Cómo se representan los enteros y decimales?

En JavaScript, tanto los números enteros como los decimales pertenecen al tipo de dato number. Sin importar si se trata de un número sin punto decimal, como 5, o con él, como 3.14, ambos son tratados uniformemente.

let entero = 5; let decimal = 3.14; console.log(typeof entero); // Outputs: "number" console.log(typeof decimal); // Outputs: "number"

Como podemos ver, el sistema no diferencia entre enteros o decimales al tratarse de operaciones y almacenamiento en memoria.

¿Qué es la notación científica y cómo funciona?

JavaScript permite expresar números de manera compacta utilizando la notación científica, útil para manejar grandes cifras. Se representa con una e seguida del exponente.

let cientifico = 5e3; // Equivalent to 5000 console.log(cientifico); // Outputs: 5000

Esto es especialmente ventajoso cuando trabajamos con cálculos científicos o financieros que manejan magnitudes de orden.

¿Cómo se manejan valores infinitos y no numéricos?

En casos extremos, JavaScript cuenta con representaciones como Infinity y NaN (Not a Number). Se usan para expresar resultados matemáticos que exceden los límites numéricos o para identificar resultados inválidos.

let infinito = Infinity; let noUnNumero = NaN; console.log(infinito); // Outputs: Infinity console.log(noUnNumero); // Outputs: NaN

¿Cuáles son las operaciones aritméticas básicas y avanzadas?

Las operaciones de números en JavaScript no solo incluyen sumas y restas. Hay un amplio espectro, desde lo básico hasta lo avanzado, gracias a la biblioteca Math.

¿Cómo realizar operaciones aritméticas básicas?

Las operaciones básicas como la suma, resta, multiplicación y división son representadas por los símbolos +, -, *, y / respectivamente.

let suma = 10 + 5; let resta = 10 - 5; let multiplicacion = 10 * 5; let division = 10 / 5;

¿Qué son el módulo y la exponenciación?

Para casos específicos, como comprobar si un número es múltiplo de otro, se utiliza el operador %, mientras que la exponenciación se realiza con **.

let modulo = 10 % 3; // Outputs 1 let potencia = 10 ** 2; // Outputs 100

¿Cómo se manejan problemas de precisión?

JavaScript puede tener problemas de precisión, especialmente al tratar decimales. Por ejemplo, la suma de 0.1 y 0.2 no resulta exactamente en 0.3, sino en un número cercano. Para este tipo de casos, es posible emplear el método .toFixed para simplificar un número a un determinado número de decimales.

let resultado = 0.1 + 0.2; console.log(resultado.toFixed(1)); // Outputs: "0.3"

¿Cómo realizar operaciones avanzadas con Math?

JavaScript ofrece el objeto Math para efectuar operaciones matemáticas más complejas:

  • Raíz Cuadrada: Math.sqrt()
  • Valor Absoluto: Math.abs()
  • Número Aleatorio: Math.random()
let raizCuadrada = Math.sqrt(16); // Outputs: 4 let valorAbsoluto = Math.abs(-7); // Outputs: 7 let aleatorio = Math.random(); // Outputs a number between 0 and 1

¿Qué debemos considerar al comparar números?

Comparar números en JavaScript, especialmente con decimales, puede ser problemático debido a la precisión. Por ejemplo:

let resultado = 0.1 + 0.2; console.log(resultado === 0.3); // Outputs: false

Esto significa que hay que tener cuidado y considerar soluciones alternativas (como ajustes de precisión) al comparar decimales.

Estructurar el conocimiento sobre esta base numérica te ayudará a implementar de manera eficaz lógicas y algoritmos que trabajan con números en JavaScript. No dejes de practicar y explorar más las capacidades numéricas avanzadas que ofrece el lenguaje.