¿Qué son los tipos de datos?

Naturaleza del contenido de una variable


Como ya comentamos en el apartado Tipos de datos de fundamentos de programación, los tipos de datos son la naturaleza del contenido de una variable o constante. Por ejemplo, si tenemos una variable con contenido 44, su tipo de dato es un número. Si tenemos una variable con contenido "Manz", su tipo de dato es texto.

En muchos lenguajes, el programador debe indicar el tipo de dato que tiene una constante o variable. Sin embargo, Javascript nos da la libertad de no tener que indicarlo. Sin embargo, recuerda que aunque no lo indiquemos, Javascript le asigna un tipo de dato dependiendo del contenido.

Tipos de datos en Javascript

En Javascript disponemos de muchos tipos de datos, sin embargo, se suelen catalogar en dos grupos: tipos de datos primitivos (básicos) y tipos de datos no primitivos (complejos).

Tipo de dato Descripción Más información
Tipos de datos primitivos
Number Valor numérico (enteros, decimales...) Ver Number
BigInt Valor numérico muy grande Ver BigInt
String Valor de texto (cadenas de texto, carácteres...) Ver String
Boolean Valor booleano (valores verdadero o falso) -
Symbol Símbolo (valor único) Ver Símbolos
undefined Valor sin definir (variable sin inicializar) -
Tipos de datos no primitivos
Object Objeto (estructura más compleja) Ver Objetos
Function Función (función guardada en una variable) Ver Funciones

Hay un caso especial del que hablaremos más adelante: null. Representa un valor vacío o ausencia de información.

Tipos de datos primitivos

Para empezar, nos centraremos en introducir los tipos de datos numéricos, de texto y booleanos, denominados los tipos de datos primitivos de Javascript. En próximos temas iremos descubriendo más detalles sobre cada uno de ellos y profundizando en cada sección.

Para saber que tipo de dato tiene una variable, debemos observar el valor que le hemos dado.

  • Si es un valor numérico, será de tipo number.
  • Si es un valor de texto, será de tipo string.
  • Si es verdadero o falso, será de tipo boolean.

Veamos un ejemplo en el que identificaremos que tipo de dato tiene cada variable:

// Un texto, letra o carácter
const text = "Hola, me llamo Manz";

// Un número (entero o decimal)
const number = 42;

// Un número muy grande (se añade n al final)
const bignumber = 12345678901234567890n;

// Un valor de verdadero o falso
const boolean = true;

// Un valor único
const symbol = Symbol("unique");

Como se puede ver, estos son los tipos de datos primitivos básicos de Javascript. Cada uno de ellos tiene sus particularidades, sus características y una serie de operaciones que se puede realizar con ellos. Las iremos viendo a lo largo de los diferentes temas.

El tipo de dato undefined

Por otro lado, existe un tipo de dato especial denominado undefined (sin definir). Este es el valor que tienen las variables a las que no se les ha dado ningún valor específico (es decir, que están sin definir).

let notDefined;
// Tiene el valor undefined

let sinDefinir = undefined;
// Aunque no es lo habitual, también se puede asignar explícitamente

Tanto notDefined como sinDefinir no se han definido y tienen el valor undefined.

El valor especial null

El valor especial null indica la ausencia intencional de información. Es decir, a diferencia de undefined, que indica que el valor aún no se ha definido, null indica que el valor ha sido definido explícitamente, pero representa una ausencia de valor.

Veamos un ejemplo con la variable selectedUser de la reserva de una habitación, donde se puede observar el matiz:

// Caso A
let selectedUser;

// Caso B
let selectedUser = null;

En el primer caso, la variable selectedUser tiene el valor undefined indicando que posiblemente el usuario aún no ha sido seleccionado (no se ha realizado la asignación de un huésped a esa habitación). En el segundo caso, la variable selectedUser tiene el valor null, indicando que el usuario ha sido seleccionado intencionalmente, pero no es ningún usuario (la habitación está vacía, no tiene huésped).

Tipos de datos no primitivos

Al margen de los tipos de datos que hemos visto hasta ahora, en Javascript cualquier tipo de dato no primitivo se considera un object, lo que suele indicar que se trata de un tipo de dato más complejo.

Veamos un ejemplo de tipos de datos no primitivos:

// Tipo de dato: Objeto
const user = { name: "ManzDev" };

// Tipo de dato: Array
const users = ["ManzDev", "CyberManzDev", "Manz9000"];

En estos dos casos, los tipos de datos de cada constante se consideran object, ya que son tipos de datos primitivos, y como vemos más adelante, más concretamente el primero es un Objeto y el segundo un Array.

¿Quién soy yo?

Soy Manz, vivo en Tenerife (España) y soy streamer partner en Twitch y profesor. Me apasiona el universo de la programación web, el diseño y desarrollo web y la tecnología en general. Aunque soy full-stack, mi pasión es el front-end, la terminal y crear cosas divertidas y locas.

Puedes encontrar más sobre mi en Manz.dev