# jQuery.type()

## jQuery.type ( obj ) Returns: String version added: 1.4.3

- obj
  Type: PlainObject
  Object to get the internal JavaScript [[Class]] of.

Description: Determine the internal JavaScript [[Class]] of an object.

A number of techniques are used to determine the exact return value for an object. The [[Class]] is determined as follows:

- If the object is undefined or null, then "undefined" or "null" is returned accordingly.
  - jQuery.type( undefined ) === "undefined"
  - jQuery.type() === "undefined"
  - jQuery.type( window.notDefined ) === "undefined"
  - jQuery.type( null ) === "null"
- If the argument is either a primitive value or an instance of a standard built-in ECMAScript object, the [[Class]] internal property is used to determine the type. (More details about this technique.)
  - jQuery.type( true ) === "boolean"
  - jQuery.type( new Boolean() ) === "boolean"
  - jQuery.type( 3 ) === "number"
  - jQuery.type( new Number(3) ) === "number"
  - jQuery.type( "test" ) === "string"
  - jQuery.type( new String("test") ) === "string"
  - jQuery.type( function(){} ) === "function"
  - jQuery.type( [] ) === "array"
  - jQuery.type( new Array() ) === "array"
  - jQuery.type( new Date() ) === "date"
  - jQuery.type( new Error() ) === "error" // as of jQuery 1.9
  - jQuery.type( /test/ ) === "regexp"
- Everything else returns "object" as its type.

## Examples:

#### Example: Find out if the parameter is a RegExp.

    <!doctype html>
    <html lang="en">
    <head>
      <meta charset="utf-8">
      <title>css demo</title>

      <script src="//code.jquery.com/jquery-1.10.2.js"></script>
    </head>
    <body>

    Is it a RegExp? <b></b>

    <script>

    $( "b" ).append( "" + jQuery.type( /test/ ) );

    </script>

    </body>
    </html>

#### Demo: