JavaScript offers a way to test the "type" of a variable. However, the result can be confusing -- for example, the type of an Array is "object".
It's common practice to use the typeof
operator when
trying to determining the type of a specific value.
Example 2.40. Testing the type of various variables
var myFunction = function() { console.log('hello'); }; var myObject = { foo : 'bar' }; var myArray = [ 'a', 'b', 'c' ]; var myString = 'hello'; var myNumber = 3; typeof myFunction; // returns 'function' typeof myObject; // returns 'object' typeof myArray; // returns 'object' -- careful! typeof myString; // returns 'string'; typeof myNumber; // returns 'number' typeof null; // returns 'object' -- careful! if (myArray.push && myArray.slice && myArray.join) { // probably an array // (this is called "duck typing") } if (Object.prototype.toString.call(myArray) === '[object Array]') { // Definitely an array! // This is widely considered as the most rebust way // to determine if a specific value is an Array. }
jQuery offers utility methods to help you determine the type of an arbitrary value. These will be covered later.
Copyright Rebecca Murphey, released under the Creative Commons Attribution-Share Alike 3.0 United States license.