En JavaScript tenemos 8 tipos de datos que vamos a ver uno a uno a lo largo del tutorial. Aunque antes una aclaración sobre el tipado dínamico.

Tipado dinamico

JavaScript es un lenguaje de tipado dinamico, esto quiere decir que nosotros no debemos decirle que tipo va a tener sino que en tiempo de ejecución se le asignara el tipo y, ademas, su tipo puede cambiar en cualquier momento.

Primitivos

Ahora veamos cada uno de los tipos de datos. Los primeros seis tipos de datos que veremos son considerados tipos de datos primitivos. Todos los tipos de datos primitivos son inmutables.

Number (número)

El tipo number representa a los enteros y flotantes, no hay una distinción entre ambos como en otros lenguajes.

let n = 20

Con los número podemos hacer varias operaciones como sumar, restar, dividir, multiplicar, etc (lo veremos en otro tutorial).

Nota: en este tipo vamos a encontrar tres valores que puede que aun no conozcas: NaN, Infinity y -Infinity.

BigInt

Este tipo de datos representa números mas grandes que 253 y menos que -253 asdasd.

Este tipo de dato fue agregado recién a JavaScript y puede que no todos los navegadores lo soporten.

let bigInt = 9107199254740991n

String (cadena)

Este tipo es para los textos y en JavaScript hay tres formas de escribirlo:

  • Comillas dobles: "Hola mundo"
  • Comilla simple: 'Hola mundo'
  • Backticks: `Hola mundo`

Entre las comillas simples y dobles básicamente no hay diferencia, en cambio el uso de backticks te da algunas funcionalidades que te ayudaran de mucho cuando programes.

Ejemplos de cadenas

const nombre = "Edwin"
const saludo = `Mi nombre es ${nombre}`

Boolean (tipo logico)

En este tipo solo hay dos valores: true (verdadero) o false (falso).

const eresEstudiante = true
const eresMalo = false

Null

El tipo null solo contiene el valor null, que significa sin valor.

const edad = null

Undefined

El tipo undefined solo contiene el valor undefined y se da este valor cuando una variable ha sido declarada pero no se le ha pasado ningún valor.

let apellidos
typeof(apellidos) // undefined

Symbol

Es un unico valor que no es igual a ningun otro valor.

const identificador = Symbol("id")

Objects

Cualquier otro valor que no sean los anteriores mencionados es un objeto. Aquí estan los objetos, arreglos, funciones, etc.

const persona = {
    nombre: 'Edwin',
    edad: 30,
}

El operador typeof

Con el operador typeof podemos saber el tipo de dato que tiene un valor. Puedes usarlo de la siguiente manera:

  • typeof variable
  • typeof(variable)

Ejemplos de typeof

typeof 7 // "number"
typeof 10n // "bigint"
typeof "San Juan" // "string"
typeof false // "boolean"
typeof Symbol("_id") // "symbol"

Consideraciones sobre typeof:

  • typeof null retorna "object" y esto es incorrecto. Esto es un error del lenguaje.
  • typeof alert retorna "function", es correcto que alert es una función pero en JavaScript no existe un tipo de dato "function". Esto no es correcto, pero es muy conveniente en la practica.