Tipos de datos en JavaScript
En JavaScript existen básicamente seis tipos de datos primitivos, objetos y funciones. Adicional a esto existe un tipo especial de datos primitivo llamado null y un tipo agregado en ECMA 2015 llamado Symbol. A continuación, veremos como identificar cada uno de estos tipos de datos y algunos ejemplos muy sencillos.
Tipos primitivos
Los tipos primitivos son un tipos de datos que guardan un solo valor. Entre estos tipos de datos tenemos: undefined, Boolean, Number, String, BigInt, Symbol e incluso null el cuál es un tipo especial.
Tipo | Descripción | Valor |
---|---|---|
Undefined | Variables no definidas | undefined |
Boolean | Entidad lógica de dos valores | false true |
Null | Ausencia de un valor de objeto | null |
Number | Números enteros | un número |
BigInt | Número enteros (rango grande) | un número grande |
String | Cadenas de caracteres | una cadena |
En los siguientes ejemplos utilizamos typeof para ver el tipo específico de dato en Javascript.
typeof undefined // undefined
typeof true // "boolean"
typeof null // "object"
typeof 40 // "number"
typeof 12n // "bigInt"
typeof "hola mundo" // "string"
Nota que el valor null es en realidad un object.
Objetos
Un objeto representa datos estructurados e instrucciones para trabajar con esos datos. Es una colección de pares llave-valor en donde los valores pueden ser otros tipos de datos. Veamos el siguiente ejemplo.
{
model: 'Mazda',
year: 2020
}
Sin embargo, los arrays también son objetos.
typeof [1,2,3] // "object"
Funciones
Las funciones son fragmentos de código que pueden ser llamados desde otras partes del código.
function foo() {
return 'Hello';
}
foo() // 'Hello'
typeof foo // "function"
Al igual que los demás tipos es posible obtener el tipo específico con el operador typeof.
typeof foo // "function"
Símbolos
Los símbolos son conjuntos de valores de tipo no string. Usualmente son utilizados para crear llaves únicas en objetos aunque también tienen otros usos.
let id = Symbol("id");
let user = {
name: "John",
[id]: 123
}
let id2 = Symbol("id");
user[id2] = 100;
user[id]; // 123
user[id2]; // 100
Para obtener el tipo de dato podemos utilizar también el operador typeof.
typeof id // "symbol"