Skip to content

JavaScript Qat'iy Rejim (Strict Mode) ​

"use strict" ko'rsatmasi (directive) ECMAScript 5-versiyasida qo'shilgan. U JavaScript kodini "qat'iy rejimda" bajarish kerakligini belgilaydi.

Bu ko'rsatma oddiy ko'rsatma emas, balki JavaScript-ning eski versiyalari tomonidan e'tiborga olinmaydigan matnli ifodadir.


"use strict" Maqsadi ​

Qat'iy rejimning asosiy maqsadi — kodni yanada toza va xavfsiz qilishdir. Masalan, oddiy rejimda e'lon qilmangan o'zgaruvchidan foydalanish mumkin bo'lsa, qat'iy rejimda bu xatolikka olib keladi.


Qat'iy Rejimni E'lon Qilish ​

Qat'iy rejimni dastur yoki funksiyaning eng boshiga "use strict"; satrini qo'shish orqali yoqish mumkin.

1. Global Sohada ​

Agar skriptning eng boshida yozilsa, butun dastur qat'iy rejimda ishlaydi:

js
"use strict";
x = 3.14; // Xatolik yuz beradi (x e'lon qilinmagan)

2. Funksiya Ichida (Mahalliy) ​

Faqatgina ushbu funksiya ichidagi kodlar qat'iy rejimda bajariladi:

js
x = 3.14; // Xatolik bo'lmaydi

function myFunction() {
  "use strict";
  y = 3.14; // Bu yerda xatolik yuz beradi
}

Nega Qat'iy Rejim Kerak? ​

  • Xavfsizlik: Kodni yanada xavfsizroq yozishga yordam beradi.
  • Xatolarni aniqlash: Avvalgi ruxsat berilgan "yomon sintaksis"larni haqiqiy xatolarga aylantiradi.
  • Global o'zgaruvchilarni himoya qilish: Tasodifan global o'zgaruvchi yaratishni imkonsiz qiladi.
  • O'qish uchun faqat ruxsat berilgan (read-only) xususiyatlarga qiymat yozishda xatolik beradi.

Qat'iy Rejimda Taqiqlangan Amallar ​

  1. E'lon qilinmagan o'zgaruvchidan foydalanish:

    js
    "use strict";
    x = 3.14; // Xato
  2. O'zgaruvchi yoki funksiyani o'chirish (delete):

    js
    "use strict";
    let x = 3.14;
    delete x; // Xato
  3. Bir xil nomli parametrlardan foydalanish:

    js
    "use strict";
    function x(p1, p1) {}; // Xato
  4. Sakkizlik (octal) sonlardan foydalanish:

    js
    "use strict";
    let x = 010; // Xato
  5. this kalit so'zining xatti-harakati: Oddiy funksiya ichida this global obyekt (window) o'rniga undefined qaytaradi.

  6. Kelajak uchun band qilingan so'zlar: Ushbu so'zlarni o'zgaruvchi nomi sifatida ishlata olmaysiz:

    • implements
    • interface
    • let
    • package
    • private
    • protected
    • public
    • static
    • yield

Xulosa ​

  • "use strict" — xatolarni kamaytirish va kodni zamonaviylashtirish uchun xizmat qiladi.
  • Uni har doim skript yoki funksiyaning eng yuqorisida ishlating.
  • Zamonaviy JavaScript frameworklari va modullari odatda qat'iy rejimni avtomatik yoqadi.