Tipos de datos

Categories:

En JavaScript se pueden utilizar los siguientes tipos de datos:
números (no hace distinción entre enteros y decimales), letras (cadenas de texto), boolean (valores de verdad), nulo (null), valor no definido (undefined).

También se pueden considerar los arreglos y los objetos como tipos de datos.

Números
JavaScript permite utilizar números enteros y decimales de manera indistinta.

Operadores aritméticos
Se pueden realizar operaciones aritméticas utilizando los operadores +, -, *, / como normalmente funcionan.

Convertir valores a números
Si queremos convertir valores (texto o números) a números enteros hay que utilizar la función: parseInt(valor convertir)
o si queremos convertir algún número a decimal hay que utilizar la función:
parseFloat(valor convertir)

Nota: NaN significa Not a number.
JavaScript indica que el valor que no puede obtener un valor numérico del dato que de estamos intentando convertir.

console.log(1 + 1)
console.log(1 - 1.5)
console.log(5 / 2)
console.log(5.0 - 2.0)
console.log(5 % 2)
console.log( parseInt("foo")) 
console.log( parseFloat("fu"))

console.log(parseInt("3 min") + parseInt("4 max"))

Letras – cadenas de texto
Además de trabajar con números, JavaScript nos permite trabajar con cadenas de texto.
El tipo de dato es string (cadena de texto). Para utilizarlo necesitamos encerrar el texto entre comillas o apóstrofes.
Si únicamente se utilizan dos comillas o apóstrofes sin contenido se conoce como cadena vacía.

Concatenar
La palabra concatenar se refiere a que se pueden unir distintos valores y así crear una cadena de texto más grande.

Estos valores no son únicamente cadenas de texto, pueden ser variables o números (los números se convierten a texto).

En JavaScript se utiliza el operador + para concatenar

/*
Al momento de concatenar el texto no hay espacios en blanco, por eso se dejó un espacio en blanco entre las dos palabras. */
console.log("Hola" + " " + "Mundo")

Nota: Si necesitamos convertir a texto utilizamos el método
toString() *.
variable.toString() **

* Vamos a revisar el concepto de métodos en Programación Orientada a Objetos.
** Si se quiere utilizar un método directamente con un número se necesitan utilizar dos puntos 3..toString(). Al utilizar únicamente un punto JavaScript interpreta el valor de manera numérica (número decimal) y genera un error de carácter ilegal.

Abreviación de operadores
JavaScript permite abreviar los operadores para que sea más fácil trabajar con los tipos de datos anteriores.

// Sintaxis

++, --
+=, -=, *=, /=

// Ejemplo

var i
i = 0
i++
/*
similar a:
i = i + 1
i += 1
*/
i--
/*
similar a:
i = i - 1
i -= 1
*/
i += 1
/*
similar a:
i++
i = i + 1
Se puede elegir
el incremento:
i += 30

También se puede utilizar con texto

var test
test = "foo"
test += "bar"

*/
i -= 1
/*
similar a:
i--
i = i - 1
Se puede elegir
el decremento:
i -= 10
*/
i *= 2
/*
similar a:
i = i * 2
Se puede elegir valor
para multiplicar
*/
i /= 2
/*
similar a:
i = i / 2
Se puede elegir valor
para dividir
*/

Valores de verdad / Boolean
Este tipo de dato solo puede tomar dos valores: cierto o falso (true / false).
Aunque se puede asignar este valor a una variable y cambiarlo durante la ejecución de un script generalmente se utiliza en las ramificaciones.

nulo – null
Este tipo de dato indica que el valor no pertenece a ningún tipo de dato mencionado (no es letra, no es número, no es valor de verdad).

Se puede utilizar para verificar que la variable tiene contenido (a diferencia de undefined al momento de creación) pero queremos que en ese momento el contenido no pertenezca a ningún tipo de dato de los que hemos utilizado.

var registro
/*
    Más código 
*/
registro = null

undefined
Este tipo de dato indica que el valor no está definido. JavaScript le asigna este valor a las variables recién creadas, a las propiedades de los objetos que no se especifican y, si una función no regresa un valor explícitamente se le asigna este valor.

var registro
// console.log(registro)
//=> undefined

function test () {
  console.log("Mensaje")
}

test()
// => "Mensaje"
// => undefined

La diferencia entre null y undefined es que null si tiene un valor que es nulo.