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.