Curso de JavaScript desde cero

¿Qué tipos de datos hay en JavaScript?

Capítulo 6: Tipos de datos primitivos y especiales

En este sexto capítulo vas a ver los tipos de datos en JavaScript, algo totalmente imprescindible para saber tratarlos y evitar errores. También verás el tipado de JavaScript.

Tipado de JavaScript

JavaScript es un lenguaje de tipado débil y dinámico. Lo que significa que a diferencia de otros lenguajes como Java, que no tiene nada que ver con JavaScript (lo que más se parece es el nombre), no tenemos que especificar el tipo de dato que va a contener una variable. En el caso de JavaScript, no hay que decirle nada, el tipo de dato de una variable se asocia directamente al dato que contiene. De este modo, puede ir cambiando no solo de valor, si no que también de tipo de dato.

Por ejemplo, en Java, para declarar una variable numérica lo hacemos así:

Código Java

int numero1;

En cambio, en Javascript se hace así:

Código JavaScript

let numero1;

Como puedes ver, en Java no hay que utilizar una palabra como let o algo similar para especificar la declaración de una variable. En este caso, se declara especificando el tipo de dato que va a contener la variable. En Java, el tipo de dato para almacenar números enteros es int. Además, si intentas poner otro tipo de dato a esta variable de Java que no sea un entero, te va a dar un error. Deberás transformar el tipo de dato (casting) si quieres almacenar otra cosa y eso si son tipos de datos compatibles.

Habrás notado lo fácil que es en JavaScript, aquí tienes un ejemplo de una misma variable cambiando de tipo de dato sin ningún problema y sin tener que hacer nada en especial

let variableCualquiera = 10;
variableCualquiera = "Ya no soy una variable numérica entera";
variableCualquiera = 0.15;
variableCualquiera = false;

Seguro que si ya has programado en otros lenguajes, sabrás apreciar mejor la diferencia.

Tipos de datos primitivos de JavaScript

Ya que sabes lo suficiente sobre las variables, pasemos a los tipos de datos primitivos que son seis.

Los tipos de datos primitivos en JavaScript

El tipo de dato primitivo number

Para empezar veamos los tipo number. Este tipo de dato comprende los integer (números enteros) y los float (números de coma flotante o decimales). Quédate con estos nombres ya que los voy a utilizar a partir de ahora en el curso.

Palabra del lenguaje nº 7 encontrada.
integer significa número entero.
Palabra del lenguaje nº 8 encontrada.
number es un tipo de dato numérico primitivo que engloba a los enteros, decimales, etc.
Palabra del lenguaje nº 9 encontrada.
float significa número decimal o de coma flotante.

Para comprobar los tipos de datos con los que trabaja una variable lo puedes hacer muy fácil con el operador, typeof. Algo que nos va a ser muy útil cuando necesitemos saberlo.

Palabra del lenguaje nº 10 encontrada.
typeof es un operador que devuelve el tipo de dato que contiene una variable.

Probemos este operador en la consola.

let numero1 = 10;
let numero2 = 5.3;

console.log(typeof(numero1));
console.log(typeof numero2);
Hay dos formas de escribir el typeof. La primera con paréntesis y dentro de ellos especificamos el valor o la segunda forma, sin los paréntesis, con un espacio seguido del valor.

typeof number JavaScript

Los dos valores son identificados en la consola como number, indiferentemente de si son números enteros o decimales, JavaScript los identifica como number (número).

El tipo de dato primitivo string


Palabra del lenguaje nº 11 encontrada.
string es un tipo de dato alfanumérico primitivo que es capaz de almacenar cadenas de caracteres (letras, números y símbolos). Básicamente, representa texto.

Probemos con una variable de tipo texto.

let texto = "Bonito día para programar.";

console.log(typeof(texto));
typeof string JavaScript

Devuelve el segundo tipo de dato primitivo con los que trabaja JavaScript, string. A partir de ahora, llamaré a los datos de texto como string o cadena de caracteres.

Los strings tal y como has visto hasta ahora, se escriben con caracteres alfanuméricos (letras números y símbolos) y siempre envueltos entre comillas dobles "", simples '' o backticks `` (acento abierto). El tema de los backticks ya lo explicaré más adelante, ya que tienen bastantes detalles a tener en cuenta y no funcionan en navegadores antiguos, ya que son bastante nuevos en JavaScript (Introducidos en ES2015).

El tipo de dato primitivo boolean


Palabra del lenguaje nº 12 encontrada.
boolean es un tipo de dato primitivo que solo contiene dos posibles valores, true o false.

Este tipo de dato solo tiene dos posibles valores o estados, true (verdadero) o false (falso).

Palabra del lenguaje nº 13 encontrada.
true es uno de los dos posibles valores admitidos como valor booleano. En español significa verdadero.
Palabra del lenguaje nº 14 encontrada.
false es uno de los dos posibles valores admitidos como valor booleano. En español significa falso.

Ya veremos con tranquilidad como usarlo, principalmente lo vas a utilizar en condicionales, para hacer que el código haga unas cosas u otras en torno a un valor booleano.

let existo = true;

console.log(typeof(existo));
typeof boolean JavaScript

El tipo de dato primitivo bigint


Palabra del lenguaje nº 15 encontrada.
bigint es un tipo de dato primitivo capaz de representar números enteros muy grandes.

bigint es un tipo de dato primitivo el cual es capaz de almacenar grandes números enteros como el que verás en el ejemplo a continuación:

let numeroGigante = 71738324324325324534563463n;
let otroNumeroGigante = BigInt(754396745398673498673835345);

console.log(typeof(numeroGigante));
console.log(typeof(otroNumeroGigante));
Para que el valor lo identifique como bigint, hay que escribirlo con una n al final del número o utilizando el constructor BigInt(). En este último caso, no hay que escribir la n.
También ten en cuenta, que JavaScript es case sensitive y tienes que escribir la B y la I de BigInt() en mayúsculas, si no, no funciona.
Palabra del lenguaje nº 16 encontrada.
BigInt es un constructor de JavaScript capaz de transformar un number o un string en tipo de dato bigint. El string debe contener un número, si no, no tiene sentido.

typeof bigint JavaScript

El tipo de dato primitivo symbol


Palabra del lenguaje nº 17 encontrada.
symbol es un tipo de dato primitivo con valores únicos e inmutables.

symbol es el quinto tipo de dato primitivo. Pueden ser utilizados como identificadores de las propiedades de los objetos. Tema que aún queda lejos, queda mucho por ver, así que no te plantes aquí y no intentes profundizar en el tema, todo llegará.

El tipo de dato primitivo undefined

Pasemos al último tipo de dato, el cual ya has visto en este curso anteriormente, en concreto en el capítulo 4, donde declaraba variables sin ningún valor. Sin iniciar. Este es el tipo de dato que se asigna por defecto cuando algo como una variable no tiene un valor definido.

De hecho, podemos ver que no hace falta ni utilizar typeof para ver el tipo de dato, ya que el propio valor de la variable es literalmente undefined.

let variableSinDefinir;
console.log(variableSinDefinir);
undefined JavaScript

El tipo de dato null


Palabra del lenguaje nº 18 encontrada.
null es un tipo de dato especial que se asigna explícitamente. Además, es una palabra reservada del lenguaje.

null es un tipo de dato especial que indica la ausencia de un valor. Es diferente a undefined, ya que en este caso, el valor es nulo.

let vacia = null;
console.log(vacia);
Variable null JavaScript

El tipo de dato object


Palabra del lenguaje nº 19 encontrada.
object es un tipo de dato de JavaScript. Es capaz de almacenar una colección de claves y valores. Este tipo de dato es mucho más complejo que los otros.

Un objeto es una colección de propiedades. Estas propiedades se pueden identificar como claves y cada clave tiene su valor. Para que lo entiendas mejor, es como un conjunto de variables con sus valores encapsuladas en un solo elemento.

Aún es pronto para hablar de los objetos, así que no le des mayor importancia todavía.

let objeto = new Object();
console.log(objeto);
Palabra del lenguaje nº 20 encontrada.
new es un operador que permite crear una instancia de un tipo de objeto.
Palabra del lenguaje nº 21 encontrada.
La palabra Object ( Object() ) es un constructor de objetos.
Variable null JavaScript

Ejercicios de JavaScript

  1. Dí de que tipo de dato es cada uno de los siguientes datos. Puedes utilizar typeof() si tienes dudas.
    • 30.5
    • "90"
    • "Programación Fácil"
    • 170
    • undefined
    • false

La solución la encontrarás aquí: Soluciones de ejercicios de JavaScript.


Comentarios

Si te quedan dudas sobre el temario, sobre JavaScript o cualquier otra cosa relacionada o simplemente quieres agradecer, aquí tienes tu sitio para dejar tu granito de arena. Gracias por tus comentarios y por darle vida a este sitio web.

Twitter

Programación Fácil YouTube

Suscríbete

Si te ha gustado este curso y crees que el trabajo merece la pena, te agradeceré eternamente que te suscribas a mi canal de YouTube para apoyarme y que pueda seguir haciendo cursos gratuitos.

Además, si te encanta la programación, tienes un montón más de cursos gratuitos para ver.

No solo eso, podrás participar enviándome comentarios con tus sugerencias para temas específicos o cursos completos o incluso las dudas que tengas y las intentaré ir resolviendo en los cursos que estén todavía abiertos.