UnderscoreJS の内部を見ると、次のように表示されます。
_.isFunction = function(obj) {
return toString.call(obj) == '[object Function]';
};
_.isString = function(obj) {
return toString.call(obj) == '[object String]';
};
_.isNumber = function(obj) {
return toString.call(obj) == '[object Number]';
};
これは奇妙な選択のように思えます。typeof を使用して、値が文字列、関数、数値のいずれであるかを判断しないのはなぜですか? toString を使用するとパフォーマンスが向上しますか? typeof は古いブラウザではサポートされていませんか?