Pot.js と PotLite.js で利用可能。
引数 o の型を調べ、その表現を文字列で取得します。
引数 o の型の文字列表現を返します。
typeof 演算子を補完したようなものです。
Pot.typeOf() との違いは、arguments や NodeList も 'array' として返る点です。
それ以外は同じ動作をします。
表現として返る値は以下のうちいずれかになります。
boolean, number, string, function, array, date, regexp, object, error, null, undefined
o の型の文字列表現を全て小文字で返します。
(function(a, b, c) { debug( Pot.typeOf(arguments) ); // 'object' (ECMA-262 3rd Edition) debug( Pot.typeLikeOf(arguments) ); // 'array' })(1, 2, 3);
debug(typeLikeOf(null)); // 'null' debug(typeLikeOf(undefined)); // 'undefined' debug(typeLikeOf(false)); // 'boolean' debug(typeLikeOf(true)); // 'boolean' debug(typeLikeOf(new Boolean(true))); // 'boolean' debug(typeLikeOf(0)); // 'number' debug(typeLikeOf(-123.456)); // 'number' debug(typeLikeOf(NaN)); // 'number' debug(typeLikeOf(Infinity)); // 'number' debug(typeLikeOf(new Number(100))); // 'number' debug(typeLikeOf('abc')); // 'string' debug(typeLikeOf(new String('abc'))); // 'string' debug(typeLikeOf([1, 2, 3])); // 'array' debug(typeLikeOf(new Array(10))); // 'array' debug(typeLikeOf({a: 1, b: 2})); // 'object' debug(typeLikeOf(new Object)); // 'object' debug(typeLikeOf(/[a-z]+/)); // 'regexp' debug(typeLikeOf(new RegExp('[A-Z]*'))); // 'regexp' debug(typeLikeOf((function(){}))); // 'function' debug(typeLikeOf(new Function('return 1'))); // 'function' debug(typeLikeOf(new Date)); // 'date' debug(typeLikeOf(new Error('hogeError'))); // 'error'