jashkenas/underscore — pull request #1623 by davidchambers (2014-05-03 20:48:41+00:00)
Title: tweak _.isArguments fallback

The line in question should be read: *Return true if __obj__ has a "callee" property.*

In the existing code, `obj &&` serves as a guard to avoid passing null or undefined to _.has. The consequence is that `!!` is required to ensure the function returns a Boolean in all cases.

There are several reasons to prefer `obj != null &&` as the guard:

- it makes it clear that the left && operand is simply a guard (it's irrelevant whether `obj` is logical true);
- it makes it easier to see why a guard is necessary; and
- it obviates the need for coercion.