From http://underscorejs.org/#chaining
You can use Underscore in an object-oriented or functional style, depending on your preference. The following two lines of code are identical ways of doubling the list of numbers.
_.map([1, 2, 3], function(n){ return n * 2; });
Therefore, when the OO style is used, _ is used as a constructor function. Without the first two lines in the constructor function, which "Creates a safe reference to the Underscore object", you will need to use the new
keyword, as shown below.
new _([1, 2, 3]).map(function(n){ return n * 2; });
Now you are not :)
source share