what is this underscore.js “safe reference” code doing?

后端 未结 2 1454
难免孤独
难免孤独 2021-01-06 11:26

I\'m learning Backbone, which uses Underscore.

In some examples, I see initialization code to create an empty array of children like this:

// inside          


        
2条回答
  •  滥情空心
    2021-01-06 11:52

    From http://underscorejs.org/#chaining

    You can use Underscore in either an object-oriented or a functional style, depending on your preference. The following two lines of code are identical ways to double a list of numbers.

    _.map([1, 2, 3], function(n){ return n * 2; }); // Functional style
    _([1, 2, 3]).map(function(n){ return n * 2; }); // OO style
    

    So when using the OO style, the _ is used as a constructor function. Without the first two lines in the constructor function that "Creates a safe reference to the Underscore object" you would have to use the new keyword, as follows

    new _([1, 2, 3]).map(function(n){ return n * 2; });
    

    Now you don't :)

提交回复
热议问题