5

たとえば、完全typeofにうまく機能しません。この種の改良された代替ビルトインまたはカスタムメイドのより良い代替手段はありますか?typeof nullobject

4

1 に答える 1

11

JavaScript typeof 演算子の修正を参照してください。

一言で言えば、この機能を使用できます:

var toType = function (obj) {
  return ({}).toString.call(obj).match(/\s([a-zA-Z]+)/)[1].toLowerCase();
}

toType(null);   // -> "null"
toType({});     // -> "object"
toType([]);     // -> "array"
toType("asdf"); // -> "string"
toType(/asdf/); // -> "regexp"
// etc.

なぜこのように機能するのか、そして正確に何を期待できるのかについては、記事を参照してください。のように、常に文字列を返しますtypeof

于 2012-06-19T20:29:19.543 に答える