“use strict”, JavaScript kodlarını yazarken kodların katı modda yürütülmesini sağlar. Katı mod kavramını biraz daha anlaşılır ifade etmek gerekirse şöyle diyebiliriz;
Örneğin, normalde JavaScript kodlarını yazarken var anahtar kelimesini kullanmadan bir değişken tanımladığımızda herhangi bir hata ile karşılaşmayız. Fakat aynı kodu katı modda yazdığımızda hata ile karşılaşırız. Katı mod ile bildirilmemiş değişkenleri kullanamayız.
Ayrıca katı modda, varolmayan bir değişkene veya varolmayan bir nesneye yapılan atamalar da hata verir. Örnekleri bu şekilde daha da çoğaltabiliriz.
Tüm programlarınızda katı modu kullanabilirsiniz. Böylece daha temiz ve hatasız kodlar yazabilirsiniz.
⇒ “use strict” yönergesi ECMAScript 5 ile birlikte kullanıma sunuldu.
JavaScript “use strict” Kullanımı
“use strict” yönergesini bir script dosyasının veya bir fonksiyonun başında tanımlarız.
Eğer script dosyasının başında tanımlarsanız dosya içerisindeki tüm kodlar katı modda yürütülür.
Eğer bir fonksiyonun başında tanımlarsanız fonksiyon içerisindeki tüm kodlar katı modda yürütülür.
Şimdi “use strict” yönergesinin kullanımına örnekler üzerinden devam edelim.
Örnek – 1
1 2 3 4 5 6 7 8 9 |
<script> "use strict"; sayi = 5; </script> |
Yukarıdaki örnekte sayi değişkenini bildirmediğimiz için “Uncaught ReferenceError: sayi is not defined at index.html:17” hatasını alıyoruz.
Eğer katı mod özelliğini kullanmamış olsaydık aynı kodda herhangi bir hata ile karşılaşmazdık.
Örnek – 2
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
<script> adi = "Ahmet"; function myFunction() { "use strict"; sayi = 8; } myFunction(); </script> |
Yukarıdaki örnekte sayi değişkenini bildirmediğimiz için “Uncaught ReferenceError: sayi is not defined at index.html:19” hatasını alıyoruz.
Dikkat ederseniz adi değişkenini de bildirmediğimiz halde herhangi bir hata almıyoruz. Çünkü katı mod özelliğinin sadece fonksiyon içerisinde etkin olmasını sağladık.
Fonksiyon içerisinde katı mod özelliğinin kullanımı da bu şekilde.
Örnek – 3
1 2 3 4 5 6 7 8 9 10 11 |
<script> "use strict"; var sayi = 12; delete sayi; </script> |
Katı modda herhangi bir değişkeni, fonksiyonu veya nesneyi silemeyiz.
Yukarıdaki örnekte “Uncaught SyntaxError: Delete of an unqualified identifier in strict mode.” hatasını alırız.
Örnek – 4
1 2 3 4 5 6 7 8 9 10 11 |
<script> "use strict"; function myFunction (parametre1, parametre1){ }; </script> |
Katı modda bir fonksiyonun aldığı parametrelere aynı isimleri veremeyiz.
Yukarıdaki örnekte “Uncaught SyntaxError: Duplicate parameter name not allowed in this context” hatasını alırız.
⇒ “use strict” sadece bir script dosyasının veya bir fonksiyonun başında kullanılır.
⇒ Gelecekteki JavaScript sürümleri için ayrılmış olan anahtar kelimeler katı modda değişken adları olarak kullanılamaz. Bu anahtar kelimeler şunlardır:
- implements
- interface
- let
- package
- private
- protected
- public
- static
- yield
⇒ Internet Explorer 9 ve daha düşük sürümler dışında tüm modern tarayıcılar “use strict” özelliğini destekler. Katı mod özelliğini tam olarak destekleyen ilk tarayıcı sürümleri şunlardır:
- Chrome 13.0
- Internet Explorer / Edge 10.0
- Firefox 4.0
- Safari 6.0
- Opera 12.1
Umarım sizin için faydalı bir yazı olmuştur.
Şu yazılar da ilginizi çekebilir.
Yeni bir yazımda görüşmek üzere.