Skip to content

Instantly share code, notes, and snippets.

@oscarmarina
Created March 16, 2023 15:00
Show Gist options
  • Select an option

  • Save oscarmarina/1ee83c7c75f01dbeda91e53cf76bd036 to your computer and use it in GitHub Desktop.

Select an option

Save oscarmarina/1ee83c7c75f01dbeda91e53cf76bd036 to your computer and use it in GitHub Desktop.
This function uses Object.prototype.toString.call() to obtain the string representation of the obj argument. This function follows the pattern '[object <type>]', where <type> is the name of the object's constructor.
const getObjectType = obj => Object.prototype.toString.call(obj).slice(8, -1);
console.log(getObjectType(new Date())); // Date
console.log(getObjectType([])); // Array
console.log(getObjectType(true)); // Boolean
console.log(getObjectType(function() {})); // Function
console.log(getObjectType(x => x)); // Function
console.log(getObjectType(null)); // Null
console.log(getObjectType(37)); // Number
console.log(getObjectType(NaN)); // Number
console.log(getObjectType(Infinity)); // Number
console.log(getObjectType(-0)); // Number
console.log(getObjectType({})); // Object
console.log(getObjectType(/someRegularExpression/i)); // RegExp
console.log(getObjectType('')); // String
console.log(getObjectType(undefined)); // Undefined
console.log(getObjectType()); // Undefined
console.log(getObjectType(new Map())); // Map
console.log(getObjectType(new Set())); // Set
console.log(getObjectType(new WeakMap())); // WeakMap
console.log(getObjectType(new WeakSet())); // WeakSet
console.log(getObjectType(new Int8Array())); // Int8Array
console.log(getObjectType(new Uint8Array())); // Uint8Array
console.log(getObjectType(new Uint8ClampedArray())); // Uint8ClampedArray
console.log(getObjectType(new Int16Array())); // Int16Array
console.log(getObjectType(new Uint16Array())); // Uint16Array
console.log(getObjectType(new Int32Array())); // Int32Array
console.log(getObjectType(new Uint32Array())); // Uint32Array
console.log(getObjectType(new Float32Array())); // Float32Array
console.log(getObjectType(new Float64Array())); // Float64Array
console.log(getObjectType(BigInt(123))); // BigInt
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment