итераторы по NodeList

когда в яваскрипте появился Array.prototype.forEach, я очень обрадовался. Но уже скоро радость моя стала неполна. Оказалось, что я не могу сделать даже document.links.forEach(), не говоря уже о результатах прочих getElementsByName и т.п. Тут вышли на сцену всякие заготовки типа toArray, но это было неэлегантно. Я вот просто добавлял forEach в NodeList.prototype или хачил querySelectorAll. Но теперь нас должен спасти EcmaScript 2015 (также известный как EcmaScript 6).

в новой версии языка должна работать конструкция for (var link of document.links) {}. Можно даже получить тот же эффект замыкания, который раньше давала функция-параметр: for (let link of document.links) {}. А ещё одна изящная конструкция позволяет легко превратить любой массивоподобный объект в массив: [...document.links].filter().

не знаю, как вы, а я уже изо всех сил облизываюсь на грядущие вкусности. Кстати, больше всего по теме EcmaScript 6 мне нравятся статьи доктора Алекса Раушмайера.

Артемий Трегубенко,
, ,

comments powered by Disqus