I've just been looking over some photos from this year's ng-europe conference and noticed a slide I think might show some code from the upcoming Angular 2. See here:

What I don't get is this:
Why is the author of this code using Array.prototype.forEach.call(array, cb) in preference to the shorter and (in my opinion) equivalent version array.forEach(cb). The only reason I could imagine would be performance implications.
Does anybody know of another difference? Or am I maybe right with my performance guess?
[].forEach.call(arr)is used is to prevent array-like objects (argumentsobject, DOM node lists, etc.) throwing an error becauseArray.prototypeis not in the prototype chain of those objects. Here's a very similar question, but asked from the other side: stackoverflow.com/questions/1424710/…