¿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.
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));
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));
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.
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);
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);
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.
Ejercicios de JavaScript
- 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.