JavaScript ofrece una manera de poder comprobar el "tipo" (en inglés type) de una variable. Sin embargo, el resultado puede ser confuso — por ejemplo, el tipo de un array es object
.
Por eso, es una práctica común utilizar el operador typeof
cuando se trata de determinar el tipo de un valor específico.
Determinar el tipo en diferentes variables
var myFunction = function() {
console.log('hello');
};
var myObject = {
foo : 'bar'
};
var myArray = [ 'a', 'b', 'c' ];
var myString = 'hello';
var myNumber = 3;
typeof myFunction; // devuelve 'function'
typeof myObject; // devuelve 'object'
typeof myArray; // devuelve 'object' -- tenga cuidado
typeof myString; // devuelve 'string'
typeof myNumber; // devuelve 'number'
typeof null; // devuelve 'object' -- tenga cuidado
if (myArray.push && myArray.slice && myArray.join) {
// probablemente sea un array
// (este estilo es llamado, en inglés, "duck typing")
}
if (Object.prototype.toString.call(myArray) === '[object Array]') {
// definitivamente es un array;
// esta es considerada la forma más robusta
// de determinar si un valor es un array.
}
jQuery ofrece métodos para ayudar a determinar el tipo de un determinado valor. Estos métodos serán vistos más adelante.