Modern mod, "use strict"

Uzun süredir JavaScript uyumluluk sorunu olmadan gelişmeye devam etmektedir. Yeni özellikler eklenmekte fakat eski özellikler olduğu gibi kalmaktadır.

Bu eski kodlarınızın çalışacağı garantisini verir. Kötü yanı ise JavaScript geliştiricileri tarafından eskiden verilen kötü bir kararın veya hatanın sürekli tekrar edilmesine neden olur.

ECMAScript 5 (ES5) standardı 2009 yılında kabul edilmiştir. Bu standar yeni özellikler eklediği gibi eskide olanlardan bazılarını da düzenlemiştir. Eski kodun çalışabilirliğini garanti altına almak için çoğu düzenleme varsayılan olarak kapalı durumda gelir. Bunları açmak için "use strict" kullanılmalıdır.

“use strict”

Bu direktif için kod dosyanızın başına "use strict" veya 'use strict' yazmanız yeterlidir. Artık kodunuz “modern” JavaScript olarak çalışmaktadır.

Örnek :

"use strict";

// Bu kod modern JavaScript olarak çalışır
...

Yakında fonksiyonları ( komutları gruplama ) göreceksiniz.

"use strict" birden çok fonksiyonda kullanılacağı gibi tek fonksiyon için de kullanılabilir. Fakat genelde tüm dosya için kullanılır.

“use strict” in en üstte olduğuna emin olun

Lütfen yazarken "use strict" direktifinin sayfanızın en üst satırında olduğuna emin olun. Aksi taktirde bu mod açılmayacaktır.

Örneğin aşağıda “sıkı” modu açık değildir:

alert("Bazı kodlar");
// "use strict"'i buraya yazarsanız bu mod açılmaz.

"use strict";

// sıkı modu aktif değildir.
use strict'i iptal eden bir direktif bulunmamaktadır

Modern JavaScript’i eski haline getiren "no use strict" gibi bir direktif bulunmamaktadır.

Sıkı moda girdiğinizda artık eskiye dönüş yoktur.

Browser console

For the future, when you use a browser console to test features, please note that it doesn’t use strict by default.

Sometimes, when use strict makes a difference, you’ll get incorrect results.

You can try to press Shift+Enter to input multiple lines, and put use strict on top, like this:

'use strict'; <Shift+Enter for a newline>
//  ...your code
<Enter to run>

It works in most browsers, namely Firefox and Chrome.

If it doesn’t, the most reliable way to ensure use strict would be to input the code into console like this:

(function() {
  'use strict';

  // ...your code...
})()

Her zaman “use strict” kullanın

"use strict" ile varsayılan modun farkları üzerinden tekrar geçilecektir.

Gelecek bölümlerde dilin özelliklerini öğrendikçe bu sıkı mod ile varsayılan modun farkları hakkında bilgi verilecektir. Aslında çok fark olmamasına rağmen sıkı mod yazdığımız kodu daha iyi hale getirir.

Şu anda genel hatlarıyla bilmek yeterli olacaktır.

  1. "use strict" JavaScript motorunda varsayılan ile “modern” mod arasında geçiş yapmaya yarar. İleride kodunuza ne gibi artılar sağlayacağını göreceksiniz.
  2. Sıkı moda dosyanın başına "use strict" direktifiyle geçilebilir. Bu bize “sınıf” veya “modül” gibi dil özelliklerini kazandırır.
  3. Sıkı mod tüm modern tarayıcılar tarafından desteklenir.
  4. Bundan sonra tersi söylenmedikçe her yazacağınız örneklerde "use strict" ile başlayacağınız varsayılmaktadır.
Eğitim haritası

Yorumlar

yorum yapmadan önce lütfen okuyun...
  • Eğer geliştirme ile alakalı bir öneriniz var ise yorum yerine github konusu gönderiniz.
  • Eğer makalede bir yeri anlamadıysanız lütfen belirtiniz.
  • Koda birkaç satır eklemek için <code> kullanınız, birkaç satır eklemek için ise <pre> kullanın. Eğer 10 satırdan fazla kod ekleyecekseniz plnkr kullanabilirsiniz)