lang.mustache revision 72d545a3aacf73830ad019134a025794ed01ce1e
72d545a3aacf73830ad019134a025794ed01ce1eDav Glass<p>`Lang` contains JavaScript language utilities and extensions that are used in the YUI library.
72d545a3aacf73830ad019134a025794ed01ce1eDav Glass
72d545a3aacf73830ad019134a025794ed01ce1eDav Glass
72d545a3aacf73830ad019134a025794ed01ce1eDav Glass```
72d545a3aacf73830ad019134a025794ed01ce1eDav Glassvar Y = YUI();
72d545a3aacf73830ad019134a025794ed01ce1eDav Glass
72d545a3aacf73830ad019134a025794ed01ce1eDav Glass// true, an array literal is an array
72d545a3aacf73830ad019134a025794ed01ce1eDav GlassY.Lang.isArray([1, 2]);
72d545a3aacf73830ad019134a025794ed01ce1eDav Glass
72d545a3aacf73830ad019134a025794ed01ce1eDav Glass// false, an object literal is not an array
72d545a3aacf73830ad019134a025794ed01ce1eDav GlassY.Lang.isArray({"one": "two"});
72d545a3aacf73830ad019134a025794ed01ce1eDav Glass
72d545a3aacf73830ad019134a025794ed01ce1eDav Glass// however, when declared as an array, it is true
72d545a3aacf73830ad019134a025794ed01ce1eDav Glassfunction() {
72d545a3aacf73830ad019134a025794ed01ce1eDav Glass var a = new Array();
72d545a3aacf73830ad019134a025794ed01ce1eDav Glass a["one"] = "two";
72d545a3aacf73830ad019134a025794ed01ce1eDav Glass return Y.Lang.isArray(a);
72d545a3aacf73830ad019134a025794ed01ce1eDav Glass}();
72d545a3aacf73830ad019134a025794ed01ce1eDav Glass
72d545a3aacf73830ad019134a025794ed01ce1eDav Glass// false, a collection of elements is like an array, but isn't
72d545a3aacf73830ad019134a025794ed01ce1eDav GlassY.Lang.isArray(document.getElementsByTagName("body"));
72d545a3aacf73830ad019134a025794ed01ce1eDav Glass
72d545a3aacf73830ad019134a025794ed01ce1eDav Glass// true, false is a boolean
72d545a3aacf73830ad019134a025794ed01ce1eDav GlassY.Lang.isBoolean(false);
72d545a3aacf73830ad019134a025794ed01ce1eDav Glass
72d545a3aacf73830ad019134a025794ed01ce1eDav Glass// false, 1 and the string "true" are not booleans
72d545a3aacf73830ad019134a025794ed01ce1eDav GlassY.Lang.isBoolean(1);
72d545a3aacf73830ad019134a025794ed01ce1eDav GlassY.Lang.isBoolean("true");
72d545a3aacf73830ad019134a025794ed01ce1eDav Glass
72d545a3aacf73830ad019134a025794ed01ce1eDav Glass// null is null, but false, undefined and "" are not
72d545a3aacf73830ad019134a025794ed01ce1eDav GlassY.Lang.isNull(null); // true
72d545a3aacf73830ad019134a025794ed01ce1eDav GlassY.Lang.isNull(undefined); // false
72d545a3aacf73830ad019134a025794ed01ce1eDav GlassY.Lang.isNull(""); // false
72d545a3aacf73830ad019134a025794ed01ce1eDav Glass
72d545a3aacf73830ad019134a025794ed01ce1eDav Glass// a function is a function, but an object is not
72d545a3aacf73830ad019134a025794ed01ce1eDav GlassY.Lang.isFunction(function(){}); // true
72d545a3aacf73830ad019134a025794ed01ce1eDav GlassY.Lang.isFunction({foo: "bar"}); // false
72d545a3aacf73830ad019134a025794ed01ce1eDav Glass
72d545a3aacf73830ad019134a025794ed01ce1eDav Glass// true, ints and floats are numbers
72d545a3aacf73830ad019134a025794ed01ce1eDav GlassY.Lang.isNumber(0);
72d545a3aacf73830ad019134a025794ed01ce1eDav GlassY.Lang.isNumber(123.123);
72d545a3aacf73830ad019134a025794ed01ce1eDav Glass
72d545a3aacf73830ad019134a025794ed01ce1eDav Glass// false, strings that can be cast to numbers aren't really numbers
72d545a3aacf73830ad019134a025794ed01ce1eDav GlassY.Lang.isNumber("123.123");
72d545a3aacf73830ad019134a025794ed01ce1eDav Glass
72d545a3aacf73830ad019134a025794ed01ce1eDav Glass// false, undefined numbers and infinity are not numbers we want to use
72d545a3aacf73830ad019134a025794ed01ce1eDav GlassY.Lang.isNumber(1/0);
72d545a3aacf73830ad019134a025794ed01ce1eDav Glass
72d545a3aacf73830ad019134a025794ed01ce1eDav Glass// true, objects, functions, and arrays are objects
72d545a3aacf73830ad019134a025794ed01ce1eDav GlassY.Lang.isObject({});
72d545a3aacf73830ad019134a025794ed01ce1eDav GlassY.Lang.isObject(function(){});
72d545a3aacf73830ad019134a025794ed01ce1eDav GlassY.Lang.isObject([1,2]);
72d545a3aacf73830ad019134a025794ed01ce1eDav Glass
72d545a3aacf73830ad019134a025794ed01ce1eDav Glass// false, primitives are not objects
72d545a3aacf73830ad019134a025794ed01ce1eDav GlassY.Lang.isObject(1);
72d545a3aacf73830ad019134a025794ed01ce1eDav GlassY.Lang.isObject(true);
72d545a3aacf73830ad019134a025794ed01ce1eDav GlassY.Lang.isObject("{}");
72d545a3aacf73830ad019134a025794ed01ce1eDav Glass
72d545a3aacf73830ad019134a025794ed01ce1eDav Glass// strings
72d545a3aacf73830ad019134a025794ed01ce1eDav GlassY.Lang.isString("{}"); // true
72d545a3aacf73830ad019134a025794ed01ce1eDav GlassY.Lang.isString({foo: "bar"}); // false
72d545a3aacf73830ad019134a025794ed01ce1eDav GlassY.Lang.isString(123); // false
72d545a3aacf73830ad019134a025794ed01ce1eDav GlassY.Lang.isString(true); // false
72d545a3aacf73830ad019134a025794ed01ce1eDav Glass
72d545a3aacf73830ad019134a025794ed01ce1eDav Glass// undefined is undefined, but null and false are not
72d545a3aacf73830ad019134a025794ed01ce1eDav GlassY.Lang.isUndefined(undefined); // true
72d545a3aacf73830ad019134a025794ed01ce1eDav GlassY.Lang.isUndefined(false); // false
72d545a3aacf73830ad019134a025794ed01ce1eDav GlassY.Lang.isUndefined(null); // false
72d545a3aacf73830ad019134a025794ed01ce1eDav Glass```
72d545a3aacf73830ad019134a025794ed01ce1eDav Glass
72d545a3aacf73830ad019134a025794ed01ce1eDav Glass