Tipos de datos primitivos y especiales - Curso de JavaScript de cero a máster - Capítulo 6


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;

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.

Código JavaScript

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 6.

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.

Código JavaScript

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.

Resultado en el navegador

typeof number JavaScript

Los dos valores son identificados en la consola como number, indiferentemento 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.

Código JavaScript

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

console.log(typeof(texto));

Resultado en el navegador

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.

Código JavaScript

let existo = true;

console.log(typeof(existo));

Resultado en el navegador

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:

Código JavaScript

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 la función 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.

Resultado en el navegador

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.

Archivo JS

let variableSinDefinir;
console.log(variableSinDefinir);

Resultado en el navegador

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.

Archivo JS

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

Resultado en el navegador

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.

Archivo JS

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.

Resultado en el navegador

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í: Haz click aquí.

Capítulos


Suscríbete a mi canal de YouTube para apoyarme

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.


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.