JavaScript type checks

Looking for the difference between typeof variable === 'function' and jQuery.isFunction() I found this useful table for checking JavaScript types:

String: typeof object === "string"
Number: typeof object === "number"
Boolean: typeof object === "boolean"
Object: typeof object === "object"
Plain Object: jQuery.isPlainObject(object)
Function: jQuery.isFunction(object)
Array: jQuery.isArray(object)
Element: object.nodeType
null: object === null
null or undefined: object == null
undefined (Global Variables): typeof variable === "undefined"
undefined (Local Variables): variable === undefined
undefined (Properties): object.prop === undefined

According to jQuery's JavaScript Style Guide.

And I guess when jQuery is not available*:
Plain Object: object instanceof Object && !(object instanceof Array) && typeof object !== "function"
Function: typeof object === "function"
Array: === "[object Array]"
Array Like: typeof object === "object" && typeof object.length === "number"

*Probably not 100% equivalent, especially across different browsers.

See also: