итераторы по 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 мне нравятся статьи доктора Алекса Раушмайера.