crazy_coder
Moderatör
- Katılım
- 20 Şub 2026
- Mesajlar
- 204
- Tepkime puanı
- 0
- Puanları
- 16
1. Strict Mode Nedir?
Strict Mode, JavaScript kodunuzu daha güvenli, daha optimize ve hataya kapalı bir şekilde çalıştırmanızı sağlayan bir moddur. Bu modu etkinleştirdiğinizde, JavaScript motoru normalde görmezden geldiği hataları artık "sessizce geçiştirmek" yerine doğrudan bir hata mesajı fırlatarak durdurur.
Nasıl Aktif Edilir?
Kodunuzun en üstüne veya bir fonksiyonun en başına şu satırı eklemeniz yeterlidir:
JavaScript:
"use strict";
2. Neleri Engeller? (Hata Senaryoları)
A. Değişken Tanımlamadan Kullanım
Normal modda, let veya const yazmayı unutsanız bile JavaScript o değişkeni otomatik olarak global yapar. Strict mode buna izin vermez.
JavaScript:
"use strict";
kullaniciAdi = "Gemini"; // HATA! (Uncaught ReferenceError)
B. Yazılamayan Özellikleri Değiştirmek
Bazı nesne özellikleri salt okunurdur (read-only). Normal modda bunları değiştirmeye çalışırsanız hata almazsınız ama değer de değişmez. Strict mode ise sizi uyarır.
JavaScript:
"use strict";
const obj = {};
Object.defineProperty(obj, "x", { value: 42, writable: false });
obj.x = 9; // HATA! (Uncaught TypeError)
C. Aynı İsimli Parametreler
Bir fonksiyona aynı isimde iki parametre göndermek büyük bir karışıklığa yol açar. Strict mode bu karmaşayı yasaklar.
JavaScript:
"use strict";
function topla(a, a, b) { // HATA! (Duplicate parameter name not allowed)
return a + a + b;
}
3. Güvenlik ve Performans Avantajları
[]this Bağlamı: Normal modda bir fonksiyon içindeki this global objeyi (window) gösterir. Strict mode'da ise undefined döner. Bu, yanlışlıkla global değişken oluşturmanızı engeller.
[]Geleceğe Hazırlık: Strict mode, JavaScript'in gelecekteki sürümlerinde rezerve edilmiş kelimelerin (örneğin private, interface, package) değişken ismi olarak kullanılmasını engeller.- Daha Hızlı Kod: Tarayıcı motorları, strict mode ile yazılmış kodları daha kolay analiz eder ve optimize eder. Bu da kodunuzun daha hızlı çalışmasını sağlayabilir.
4. Modüller ve Sınıflar
Modern JavaScript kullanıyorsanız (ES6+), aslında çoğu zaman farkında olmadan strict mode kullanıyorsunuzdur. Çünkü:
[]Tüm JavaScript Sınıfları (Classes) otomatik olarak strict mode'dadır.
[]Tüm Modüller (import/export) varsayılan olarak strict mode ile çalışır.
Sonuç
Strict Mode kullanmak, kendinize "disiplinli bir çalışma arkadaşı" edinmek gibidir. Hataları anında yüzünüze vurur, sizi daha temiz kod yazmaya zorlar ve uygulamanızın beklenmedik anlarda çökme riskini azaltır. Eğer eski bir kütüphane kullanmıyorsanız, projenize her zaman "use strict"; ile başlamak en iyi profesyonel pratiktir.