Either gets the type of a value or adds a constructor registering its custom type name.

This function is valid in v2.8.0 to v2.20.0. This function has been downloaded 33 times.


{*} value
A value whose type name will be returned. Alternatively if opt_typeNameToAdd is passed this must be the constructor for the corresponding type name.
{string=} opt_typeNameToAdd Optional
If specified, value will be looked for within an array of all known constructors and if not found a new entry will be added along with this given type name.


If opt_typeNameToAdd was omitted a string representation of value's type usually capitalized unless "null" or "undefined" is returned. If opt_typeNameToAdd is given, the constructor passed as value will be searched and a boolean indicating whether or not it needed to be added will be returned.

Required Functions

This function requires the following functions which are included automatically:

  • isPrimitive()
    Determines if something is a primitive or not. If not a primitive it must be some form of object.
  • isPrototype()
    Determines if an object is a prototype object.
  • kindsOf()
    Retrieves all of the associated type names for a value.