Skip to content

Instantly share code, notes, and snippets.

@htchaan
Created February 5, 2014 02:21
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save htchaan/8816405 to your computer and use it in GitHub Desktop.
Save htchaan/8816405 to your computer and use it in GitHub Desktop.
An improved version of the typeOf operator.
var toType = function(obj) {
return ({}).toString.call(obj).match(/\s([a-zA-Z]+)/)[1].toLowerCase()
}
/**
* http://javascriptweblog.wordpress.com/2011/08/08/fixing-the-javascript-typeof-operator/
* toType({a: 4}); //"object"
* toType([1, 2, 3]); //"array"
* (function() {console.log(toType(arguments))})(); //arguments
* toType(new ReferenceError); //"error"
* toType(new Date); //"date"
* toType(/a-z/); //"regexp"
* toType(Math); //"math"
* toType(JSON); //"json"
* toType(new Number(4)); //"number"
* toType(new String("abc")); //"string"
* toType(new Boolean(true)); //"boolean"
**/
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment