Al momento de declarar variables, estuvimos almacenando valores como 10
o “Walter”
que, como sabemos son valores literales de tipo número y string respectivamente.
Pero esos no son los únicos tipos de datos de JavaScript, hay ocho tipos básicos:
Tipo | Descripción | Ejemplo |
---|---|---|
Number |
Valor numérico | 8289.8 |
BigInt |
Valor numérico grande | 1234567890123456789n |
String |
Valor de texto | 'Walter' |
Boolean |
Valor booleano | true |
undefined |
Valor sin definir | undefined |
Function |
Función | function() {} |
Symbol |
Símbolo | Symbol(1) |
Object |
Objeto | {} |
Podemos poner cualquier tipo en una variable en cualquier momento: una variable puede en un momento ser un string y luego almacenar un número.
let a = "hola"; // a contiene un string
a = 123456; // ahora a contiene un número
JavaScript pertenece al grupo de lenguajes de tipado dinámico o débil, lo que significa que existen tipos de datos, pero las variables no están limitadas a ninguno de ellos.
Si necesitamos saber qué tipo de dato tiene una variable en algún momento en particular, podemos utilizar el operador typeof
, que nos dice el tipo de dato de la variable que lo acompaña como operando:
let a = "hola";
typeof a; // "String"
a = 123456;
typeof a; // "Number"
Veamos un poco de qué tratan los tipos más utilizados.
El tipo Number
representa números enteros y de punto flotante.
let n = 123; // número entero
let m = 123.45 // número de punto flotante
Además de los números normales con los que tenemos costumbre de trabajar, también agrupa los llamados “valores numéricos especiales" que a pesar de no ser números, son tratados como tales:
Infinity
, que representa el valor infinito matemático (∞), un valor más grande que cualquier otro valor.
let n = 1 / 0; // Infinity
-Infinity
, que representa el valor infinito matemático negativo (-∞), un valor más pequeño que cualquier otro valor.
let n = -1 / 0; // -Infinity
NaN
, que significa not a number y representa un error de cálculo resultado de una operación matemática incorrecto o indefinida.
let n = Infinity - Inifinity; // NaN
let m = "walter" * 10; // NaN
Gracias a NaN
, podemos hacer cualquier cosa en JavaScript, como dividir por cero o multiplicar strings con números sin obtener un error fatal, pues en el peor de los casos, obtendremos NaN
como resultado, que es un Number
.
Imaginemos que necesitamos almacenar el valor 1.000 millones, por lo que escribimos el siguiente código: