let titleElements = document.querySelectorAll('.article .title'); let titles = Array.from(titleElements).map( t => t.textContent ); console.log(titles);
Array.from() представляет собой мощный метод, который дает возможность преобразования объектов, похожих на массивы, в настоящие массивы. Это очень полезно, особенно когда работаешь с объектами DOM, такими как NodeList.
В приведенном в вопросе примере кода используется document.querySelectorAll(), метод, который возвращает NodeList. NodeList похож на массив, но является коллекцией узлов DOM и не является настоящим массивом.
let titleElements = document.querySelectorAll('.article .title');
В результате у NodeList отсутствуют многие полезные методы, которые присущи настоящим массивам, включая метод .map().
Чтобы обойти эти ограничения и придать NodeList все способности настоящего массива, мы используем Array.from().
let titles = Array.from(titleElements);
Затем мы можем вызвать .map() на полученном массиве, что было бы невозможно сделать с исходным NodeList:
let titles = Array.from(titleElements).map( t => t.textContent );
В итоге мы получаем массив, содержащий текст каждого из элементов заголовка, что гораздо удобнее для дальнейшей работы.
Таким образом, использование Array.from() не только "модное" явление в современном JavaScript, но и очень полезное, поскольку оно обеспечивает гибкость и эффективность при обработке списков DOM-элементов.