Optimize _.isArguments and cleanup _.isArray and _.isRegExp.

Former-commit-id: 2ce67cedca1e2b21e206c4822126b86304c8dd5f
This commit is contained in:
John-David Dalton
2013-07-06 13:47:11 -07:00
parent 2c833b5028
commit bcb5eda7d8

View File

@@ -1227,12 +1227,12 @@
* // => false
*/
function isArguments(value) {
return toString.call(value) == argsClass;
return (value && typeof value == 'object') ? toString.call(value) == argsClass : false;
}
// fallback for browsers that can't detect `arguments` objects by [[Class]]
if (!support.argsClass) {
isArguments = function(value) {
return value ? hasOwnProperty.call(value, 'callee') : false;
return (value && typeof value == 'object') ? hasOwnProperty.call(value, 'callee') : false;
};
}
@@ -1253,7 +1253,7 @@
* // => true
*/
var isArray = nativeIsArray || function(value) {
return value ? (typeof value == 'object' && toString.call(value) == arrayClass) : false;
return (value && typeof value == 'object') ? toString.call(value) == arrayClass : false;
};
/**
@@ -2222,7 +2222,7 @@
* // => true
*/
function isRegExp(value) {
return !!(value && objectTypes[typeof value]) && toString.call(value) == regexpClass;
return (value && objectTypes[typeof value]) ? toString.call(value) == regexpClass : false;
}
/**