JavaScript-ում տարրեր ստանալու սխալ
Երբեմն սկսնակ ծրագրավորողները սխալվում են,
օգտագործելով DOM տարրերի խումբ ստանալու համար
querySelector մեթոդը querySelectorAll մեթոդի փոխարեն:
Դիտարկենք այս սխալի բնորոշ առանձնահատկությունները: Դիցուք կան պարբերություններ:
<p>1</p>
<p>2</p>
<p>3</p>
Ինչ-որ ծրագրավորող որոշել էր ստանալ և արտածել այդ պարբերությունների տեքստերը կոնսոլում: Դրա համար նա այդ տարրերի հղումները ստացել է փոփոխականում, սխալմամբ օգտագործելով ոչ ճիշտ մեթոդ:
let elems = document.querySelector('p');
Այնուհետև նա որոշել էր օղակով դուրս բերել պարբերությունները և արտածել յուրաքանչյուր պարբերության տեքստը կոնսոլում:
for (let elem of elems) {
console.log(elem.textContent);
}
Արդյունքում կոնսոլում կհայտնվի բնորոշ
սխալ elems is not iterable: Այն ասում է,
որ elems փոփոխականը իտերացվող չէ,
այսինքն՝ զանգված չէ կամ այն, ինչ
հնարավոր է դուրս բերել for-of օղակով: