Skip to content

Instantly share code, notes, and snippets.

@axelav
Forked from kirilloid/type.js
Created June 15, 2016 20:00
Show Gist options
  • Save axelav/15ecc2994190f235cc86010c01f2f063 to your computer and use it in GitHub Desktop.
Save axelav/15ecc2994190f235cc86010c01f2f063 to your computer and use it in GitHub Desktop.
getType
function getType (value) {
let type = typeof value;
if (type === 'object') {
return value ? Object.prototype.toString.call(value).slice(8, -1) : 'null';
}
return type;
}
[NaN, 0, 1, Infinity, // numbers
null, undefined, false, 'str', // other primitives
{}, [], new Map, new WeakSet(), // containers
/regex/, new Date(), // other custom objects
window, navigator, // native objects
function () {}, (() => {}), atob,// functions
Symbol() // symbol
].map(getType);
// and the result is
[
"number", "number", "number", "number", // numbers
"null", "undefined", "boolean", "string",// other primitives
"Object", "Array", "Map", "WeakSet", // containers
"RegExp", "Date", // other custom objects
"Window", "Navigator", // native objects
"function", "function", "function", // functions
"symbol" // symbol
];
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment