/ / Dlaczego w niektórych przypadkach nie podkreśla preferowanego typu? - javascript, underscore.js

Dlaczego w niektórych przypadkach nie podkreśla preferowanego typu? - javascript, underscore.js

Per Crockford, The Good Parts

typeof jest poprawny dla funkcji, łańcucha, liczby, wartości logicznej i niezdefiniowany. null i tablica są niepoprawnie zgłaszane jako obiekt.

Dlaczego więc nie używać typeof do przypadków, w których działa? Zawsze jest to szybsze, dlatego zastanawiam się, dlaczego nie jest to preferowane w tych przypadkach.

Szczególnie tutaj dla funkcji, ciągu i liczby.

http://underscorejs.org/docs/underscore.html#section-111

  each(["Arguments", "Function", "String", "Number", "Date", "RegExp"], function(name) {
_["is" + name] = function(obj) {
return toString.call(obj) == "[object " + name + "]";
};   });

Odpowiedzi:

2 dla odpowiedzi № 1

Celem tych owijek jest złapanie obiektów o wartości pudełkowej.

typeof new Number(1) === "object"