JavaScript DevTools bilan xatolarni topish

Kod ishlamayotganda taxmin qilish o’rniga ko’rish kerak. Brauzerdagi DevTools buni beradi: kod qayerda to’xtaganini, o’zgaruvchilarda nima turganini va so’rovlar qanday ketganini.

Ochish

Tizim Tugma
Windows / Linux F12 yoki Ctrl + Shift + I
macOS Cmd + Option + I
Har qanday O’ng tugma → “Inspect” / “Ko’rib chiqish”

Asosiy bo’limlar: Console (xabarlar), Sources (kod va to’xtash nuqtalari), Elements (DOM), Network (so’rovlar).

console — log’dan boshqasi ham bor

JavaScript

Haqiqiy DevTools’da warn sariq, error qizil rangda va chaqiruvlar zanjiri bilan chiqadi — xato qayerdan kelganini ko’rsatadi.

Jadval ko’rinishi

JavaScript

console.table obyektlar massivini chinakam jadval qilib chizadi — DevTools konsolida ustunlar bo’yicha saralash ham mumkin.

Guruhlash

JavaScript

Uzun ro’yxatlarni yig’ib qo’yish uchun qulay.

Vaqt o’lchash

JavaScript

time va timeEnd bir xil nom bilan chaqiriladi — orasidagi vaqtni beradi. Bu tezlikni o’lchashning eng oson usuli.

Shartli tekshiruv

JavaScript

assert shart yolg’on bo’lgandagina xabar chiqaradi — barcha holatni loglashdan ko’ra toza.

Sanash

JavaScript

Funksiya necha marta va qaysi qiymat bilan chaqirilganini bilish uchun.

debugger — kodni to’xtatish

Eng kuchli vosita console.log emas, to’xtash nuqtasi:

function hisobla(a, b) {
  const yigindi = a + b;
  debugger;          // DevTools ochiq bo'lsa — shu yerda to'xtaydi
  return yigindi * 2;
}

hisobla(3, 4);

Kod shu qatorda to’xtaydi va siz:

  • barcha o’zgaruvchilar qiymatini ko’rasiz (Scope paneli);
  • chaqiruvlar zanjirini ko’rasiz (Call Stack);
  • qadamma-qadam yurasiz (F10 — keyingi qator, F11 — funksiya ichiga);
  • konsolda joriy kontekst bilan ifoda yozib sinaysiz.

Sources panelida qator raqamini bosib ham to’xtash nuqtasi qo’yiladi — kodga tegmasdan.

Xato xabarini o’qish

JavaScript

Xato xabarini o’qishda uch narsa muhim: turi (TypeError, ReferenceError), xabari va stack — qaysi funksiyalar orqali shu yerga kelgani. Xatolar darsida turlari sanab o’tilgan.

Keng uchraydigan xatolar

Xabar Sabab
x is not defined O’zgaruvchi e’lon qilinmagan yoki nomi xato
Cannot read properties of null Element topilmadi (querySelector null qaytardi)
x is not a function Nomi xato yoki obyektda bunday metod yo’q
Unexpected token Sintaksis xatosi — qavs yoki tirnoq yopilmagan
Cannot access before initialization let/const e’londan oldin ishlatilgan

Ikkinchisi eng ko’p uchraydi:

JavaScript

querySelector topa olmasa null qaytaradi — natijani ishlatishdan oldin tekshirish kerak.

Network — so’rovlarni ko’rish

fetch bilan ishlaganda Network paneli ko’rsatadi:

  • so’rov manzili va usuli (GET/POST);
  • status kodi (200, 404, 500);
  • yuborilgan va qaytgan ma’lumot (Payload / Response);
  • qancha vaqt ketgani.

So’rov ishlamayotganda birinchi shu yerga qaraladi: so’rov umuman ketdimi, qanday status keldi va javob tanasida nima bor.

Amaliy mashq

  1. F12 bilan DevTools’ni oching va Console’ga o’ting;
  2. obyektlar massivini console.table bilan chiqaring;
  3. console.time/timeEnd bilan sikl vaqtini o’lchang;
  4. funksiyaga debugger qo’yib, Scope panelida o’zgaruvchilarni ko’ring;
  5. mavjud bo’lmagan elementga murojaat qilib, xato xabarini o’qing;
  6. Network panelida fetch so’rovini kuzating.

Qisqacha xulosa

  • DevTools F12 bilan ochiladi; asosiy panellar — Console, Sources, Network.
  • console da table, group, time, count, assert ham bor.
  • debugger yoki Sources’dagi to’xtash nuqtasi — eng kuchli usul.
  • Xatoda uch narsa muhim: turi, xabari va chaqiruvlar zanjiri.
  • Cannot read properties of null — element topilmagan, tekshirish kerak.
  • Network paneli so’rov status va javobini ko’rsatadi.

Keyingi darsda kod sifati va nomlash — o’qiladigan kod yozish qoidalari.

Bu dars foydali bo'ldimi?

marta ko'rildi