Karmagination provides a way to detect data types reliably as the native built-in typeof method have quite a few quirks.
Returns true if the object is an instance of Karmagination, false otherwise.
var a = Karma(); Karma.isKarma(a); // true
Returns true if the current data type is either Object, Array, Date or null, false otherwise.
var a = []; var b = {}; var c = new Date(); var d = null; Karma.isGenericObject(a); // true Karma.isGenericObject(b); // true Karma.isGenericObject(c); // true Karma.isGenericObject(d); // true
Returns true if the current data type is an Object, false otherwise.
var a = []; var b = {}; var c = new Date(); var d = new Object(); Karma.isObject(a); // false Karma.isObject(b); // true Karma.isObject(c); // false Karma.isObject(d); // true
Returns true if the current data type is an Array, false otherwise.
var a = []; var b = {}; var c = new Date(); var d = new Array(); Karma.isArray(a); // true Karma.isArray(b); // false Karma.isArray(c); // false Karma.isArray(d); // true
Returns true if the current data type is an instance of Date(), false otherwise.
var a = []; var b = {}; var c = new Date(); var d = new Array(); Karma.isDate(a); // false Karma.isDate(b); // false Karma.isDate(c); // true Karma.isDate(d); // false
Returns true if the current data type is a function, false otherwise.
var a = function(){}; var b = new Function(); Karma.isFunction(a); // true Karma.isFunction(b); // true
Returns true if the current data type is a string, false otherwise.
var a = ''; var b = 'ABC'; var c = new String('ABC'); Karma.isString(a); // true Karma.isString(b); // true Karma.isString(c); // true
Returns true if the current data type is an integer or float, false otherwise.
var a = 1; var b = 0.1; var c = -1; var d = -0.1; var e = new Number(1); Karma.isNumber(a); // true Karma.isNumber(b); // true Karma.isNumber(c); // true Karma.isNumber(d); // true Karma.isNumber(e); // true
Returns true if the current data type is a string, integer or float, false otherwise.
var a = 1; var b = 0.1; var c = -1; var d = -0.1; var e = new Number(1); var f = 'a'; var g = new String('a'); Karma.isNumber(a); // true Karma.isNumber(b); // true Karma.isNumber(c); // true Karma.isNumber(d); // true Karma.isNumber(e); // true Karma.isNumber(f); // true Karma.isNumber(g); // true
Returns true if the current data type is a boolean, false otherwise.
var a = true; var b = false; var c = !null; var d = !!undefined; Karma.isBoolean(a); // true Karma.isBoolean(b); // true Karma.isBoolean(c); // true Karma.isBoolean(d); // true
Returns true if the current data type inside a defined namespace is defined, false otherwise.
var a = true; var b = false; var c = null; var d; Karma.isDefined(window.a); // true Karma.isDefined(window.b); // true Karma.isDefined(window.c); // true Karma.isDefined(window.d); // false Karma.isDefined(d); // throws error (must be inside a defined namespace)