Tipo de datos

JavaScript acepta diferentes tipos de datos. Una expresión es cualquier conjunto valido de constantes, variables y operadores que al evaluarse dan un único valor del tipo numérico, cadena o lógico.

JavaScript es un lenguaje de tipo dinámico, lo que significa que no necesita especificar el tipo de dato a almacenar en la variable porque el motor de JavaScript lo usa dinámicamente. Debe usar var aquí para especificar el tipo de datos.

1. Numéricos

Representa valores numérico ya sea enteros o decimales. A diferencia de otros lenguajes solo existe un tipo de dato llamado numérico.

Pueden ser números enteros así:

Números
TipoDescripciónEjemplo
Decimal (base 10)dígitos de 0 a 9199
binario (base 1)dígitos 0 o 10b00000001
Octal (base 8)dígitos 0 a 70755
Hexadecimal (base 16)dígitos de 0 a F0xE477
Punto flotante3.1416, -2e4, 5e-12.
var n = 34;
var n = 34.12;
var n = 34e3;   //34000
var n = 34e-3;  //0.034

Punto flotante, puede tener un entero decimal, un punto, una fracción (otro numero decimal), un exponente que consiste en la letra e seguida de un entero, el cual puede llevar un signo (+ o -).

Propiedades de números
PropiedadesDescripción
MAX_VALIEDevuelve el mayor número posible en JavaScript
MIN_VALUEDevuelve el menor número posible en JavaScript
NEGATIVE_INFINITYRepresenta infinito negativo (devuelto en desbordamiento)
POSITIVE_INFINITYRepresenta infinito positivo (devuelto en desbordamiento)
NaNRepresenta un valor "No es un número"
prototypeLe permite agregar propiedades y métodos a un objeto
Métodos de números
MétodosDescripción
isFinite()Comprueba si un valor es un número finito.
isInteger(n)Comprueba si un valor es un entero.
isNaN(n)Comprueba si valor no esta definido.
isSafeInterger()Comprueba si un valor es un entero seguro
toExponential(x)Convierte un número en una notación exponencial
toFixed(x)Estable x dígitos decimal.
toLocaleString()Convierte un número en una cadena, según la configuración regional
toPrecision(x)Formatea un número a x longitud
toString(n)Convierte a cadena
valueOf()Devuelve el valor primitivo de un numero.
Number.isNaN(123);          //false
Number.isNaN(-1.23);        //false
Number.isNaN(5-2);          //false
Number.isNaN(0);            //false
Number.isNaN('123');        //false
Number.isNaN('Hola');       //false
Number.isNaN('2005/12/12'); //false
Number.isNaN('');           //false
Number.isNaN(true);         //false
Number.isNaN(undefined);    //false
Number.isNaN('NaN');        //false
Number.isNaN(NaN);          //true
Number.isNaN(0/0);          //true

2. Cadenas

También llamadas String, son cualquier cosa que este encerrado entre comillas. Pueden ser simples o dobles.

"Hola mundo"
'Enrique'

También pueden usar los siguientes caracteres:

Comillas simples Retroceder un espacio Back slash.
Caracteres especiales
CarácterDescripción
\bindica un retroceso (bachspace)
\findica un avance de pagina (Form feed)
\nIndica nueva linea (New Line)
\rIndica un retorno de carro.
\tIndica un tabulador (Tab)
\"se puede incluir comillas. Ej: "José \"Chemo\" del Solar"
\'
\b
\\

En el caso de las cadenas se pueden concatenar con +

var x = '16' + 'Volvo';    //16Volvo
var x = 16 + 'Volvo';      //16Volvo
var x = 16 + 4 + 'Volvo';  //20Volvo
var x = 'Volvo' + 16 + 4;  //Volvo164
Propiedades de cadenas
PropiedadesDescripción
lengthDevuelve el largo de la cadena
prototypeLe permite agregar propiedades y métodos a un objeto
Métodos de cadenas
MétodosDescripción
charAt(pos)devuelve el carácter en un índice (posición) especificado en una cadena:
charCodeAt(pos)devuelve ASCII en un índice (posición) especificado en una cadena:
concat(a,b)concatena
endsWith()
fromCharCode()
includes()
indexOf()
lastIndexOf()
localeCompare()
match()
repeat(n)
replace(busca,pone)Reemplaza la primera coincidencia y distingue mayustulas/minusculas
search()
slice(inicio,fin)
split(',')Convierte una cadena en matriz
startsWith()
substring(inicio,fin)
substr(inicio,largo)
toLocateLowerCase()
toLocateUpperCase()
toLowerCase()Convierte en minusculas
toString()
toUpperCase()Convierte en mayusculas
trim()Quita los espacios blancos delante y detras
valueOf()

3. Lógicos

También llamados Booleanos, son las que toman uno de dos valores de true o false.

true
false

4. Nulos

Es cuando la variable no toma ningún valor. null

null
vas persona = {nombre:'Kike',apellido:'GL',edad:65};
persona = null;   #Aun es un ojeto pero esta vacio

5. Fechas

El objeto Fecha se usa para trabajar con fechas y horas.

var variable = new Date();
var variable = new Date(año,mes,dia,hora,minuto,segundo,milisegundo);
var dt = new Date();
var dt = new Date();
var dt = new Date();
var dt = new Date(2020,7,14,8,0,0,0.0);
Métodos de cadenas
MétodosDescripción
now()Ahora
getTime()Milisegundos desde 1-ENE-1970
UTC()Milisegundos desde 1-ENE-1970 (UTC)
getFullYear()Año
getMonth()Mes (0-11)
getDate()Dia del mes (1-31)
getDay()Dia de la semana (0-6)
getHours()Hora (0-23)
getMinutes()Minuto (0-59)
getSeconds()Segundo (0-59)
getMilliseconds()Milisegundo (0-999)
getTimeOffset()
getUTCDate()
getUTCDay()
setFullYear()Año
setMonth()Mes
setDate()Dia
setHours()Hora
setMinutes()Minuto
setSeconds()Segundo
setMillisends()Milisegundo
setUTCFullYear()Año UTC
setUTCMonth()Mes
setUTCDate()Dia
setUTCHours()Hora
setUTCMinutes()Minuto
setUTCSeconds()Segundo
setUTCMillisends()Milisegundo
toString()
toDateString()
toJSON()
valueOf()

6. Indefinido

vas persona = {nombre:'Kike',apellido:'GL',edad:65};
persona = undefined;      #Ya no existe el objeto

7. Tipo de dato

Un valor de datos primitivo es un único valor de datos simple sin propiedades y métodos adicionales.

typeof 3.14;     //Numérico
typeof 'Hola';   //Cadena
typeof true;     //Booleano
typeof x;        //Indefinido
typeof null;     //Objeto
typeof [1,2,3];  //Objeto
typeof {nombre:'Kike',edad:54};     //Objeto
typeof null;     //Objeto
typeof function ok();     //Funcion