lunes, 4 de mayo de 2015

JavaScript - Tipos de datos

Resumen sobre tipos de datos en JavaScript.

“undefined” en Javascript

Undefined es un tipo de dato, al igual que lo son el Number, String, Boolean, Object o el Array. Javascript, al ser un lenguaje débilmente tipado, nos permite declarar variables sin especificar de qué tipo serán los valores que contenga. De esa forma, Javascript considerará a la variable de un tipo de dato u otro en función de su contenido, por ejemplo:

var number1 = 123     // Tipo Number
var number2 = "123" // Tipo String
var number3;

La variable “number3″ no tiene un valor asignado, ¿de qué tipo es? Dado que todas las variables han de tener siempre un tipo, en este caso Javascript considera la variable “number3″ de tipo undefined.

En resumen, en Javascript, todas aquellas variables que no han sido definidas (por lo tanto, no existen) o que han sido definidas sin asignárseles un valor, son siempre de tipo undefined.

“null” en Javascript

El valor null es en sí mismo un valor, pero un valor que indica la ausencia de contenido, el valor vacío. Si escribimos el siguiente código:

var number1 = null;

¿De qué tipo es la variable “number1″ ahora? Para Javascript, dado que a la variable number1 se le ha asignado el valor null, es una variable de tipo Object ahora mismo.

Resumiendo

Si lo que necesitamos es saber simplemente si una variable tiene el valor null o no ha sido definida, podemos utilizar el operador de negación:

var data;
if (!data) //true

Si necesitamos saber si una variable contiene realmente el valor null, hemos de utilizar el operador de identidad:

var data = null;
if (data === null) //true

Si necesitamos saber si una variable es de tipo undefined, para ello hemos de utilizar el operador typeof, el cual retorna en formato String, el nombre del tipo de dicha variable:

var data;
if (typeof(data) == "undefined") //true

Con esto ya tenemos un poco más claro cómo podemos comparar variables a las que no se les ha asignado un valor y variables con valor null. También hemos aprendido cuál es realmente la diferencia que Javascript hace entre undefined y null.

No hay comentarios:

Publicar un comentario