JavaScript да цикларда қавсларнинг мажбурий бўлмаслиги муаммоси
Цикларда қавсларни қолдириб кетиш мумкин бўлса-да, мен буни қатъий тавсия қилмайман, чунки бундай код кўпинча хатоларга олиб келади.
Мисолда кўрайлик. Бизда куйидаги код бор деб фараз қилайлик:
for (let i = 0; i <= 9; i++)
console.log(i); // 0 дан 9 гача бўлган сонларни чиқаради
Юқорида келтирилган кодга кичкина ўзгартириш киритаман (қандай эканини топинг) - ва у ишлашни тўхтатади:
for (let i = 0; i <= 9; i++);
console.log(i); // хатоликни чиқаради
Хўш, мен нимани ўзгартирдим?
Муаммо шундан келиб чиқдики, мен циклнинг ) қавсидан кейин нуқтали вергул қўйдим.
Бундай ҳолда, шундай деб аталувчи танасиз цикл ҳосил бўлади: у фақат ичида айланиб чиқади,
ва кейинги сатр унга боглиқ бўлмайди. Шу сабабдан, муаммоларнинг олдини олиш учун,
мен цикларда доим қавсларни қўллашни тавсия қиламан.
Куйидаги коднинг бажариш натижаси қандай бўлишини айтинг:
let arr = [1, 2, 3, 4, 5];
for (let elem of arr);
console.log(elem);