FYI the reason it's not an array is because if you store a reference to it, it will stay up to date as and when the DOM changes.
Re:You might not need jQuery (2014)
by jarek-foksa on Thursday January 14, 2021 @08:12AM
(#25775897)
The NodeList returned by querySelectorAll() is not live. There is really no reason for it to return a NodeList other than backward compatibility.
Ah, thanks. I got bitten by this recently and didn't know what to do with this "thing that's not an array but seems like it should be, and doesn't always behave like one"