Я просто просматривал образцы кода демонов Electron API, когда внезапно появилось дикое выражение, совершенно чуждое мне:
const links = document.querySelectorAll('a[href]');
Array.prototype.forEach.call(links, function (link) {
// WWIII here
})
Я определенно понимаю, что делает этот кусок кода, но я привык к синтаксису:
links.forEach(function (links) {});
Так в чем же разница между этими двумя? Я уже читал различные темы StackOverflow по этой теме, но они либо неоднозначны, либо вообще не отвечают на вопрос. Некоторые сказали, что у него есть что-то, что связано с массивными коллекциями, которые не могут быть итерационными .forEach() в отличие от Array.prototype.forEach.call(). Это единственное преимущество слишком утомительной и длинной версии?
Спасибо заранее!