‘Use Strict’ nedir ve JavaScript’de neden kullanılır?

Öncelikle use strict komutunun ne olduğunu ve nasıl eklendiğini açıklayarak başlayalım, scriptin en başına

1
"use strict";

yazarak global olarak tanımlıyoruz ve scriptdeki tüm kodlarımız artık scrict modda çalışır hale geliyor. Strict mod ilk olarak Javascripte Ecma 5 ile gelen bir özellik olmuştur. Ecma nedir diyebilirsiniz, Ecma bir standartlaştırma kurumudur. JavaScript ilk olarak 95 yılında ortaya cikmasindan sonra 97 yılında Ecma kuruluşuna başvurulmuş ve adı EcmaScript olarak değiştirilmiştir ama tabi ki kimse bu ismi benimsemediği için halen JavaScript adı ile anılmaktadır. Kısa bir hikayeden sonra devam edelim.

Strict mod kullanmanin güzelliklerini örneklerle anlamaya çalışmak sanirim çok daha mantıklı olacaktır.

 

Bu kod normalde calisir haldeyken strict modda hata verecektir. Çünkü x değişkenimizi tanımlamadan kullandık. Strict mod bir değişkeni bilmeden iki kere kullanılmaması için hata verir:

1
2
3
"use strict";

x= 7.5;

 

Burada ise üst blokta hata vermezken, fonkisiyonumuzun içi hata verecektir. Bunun sebebi ise her zaman use strict komutumuzu ya scriptimizin en üstünde yazarak global etki etmesini sağlıyoruz yada belli bir fonksiyon içinde yazarak sadece o fonksiyonu etkilemesini sağlıyoruz. Ama unutulmamalı ki, use stricti sadece bu iki durumda ekleyebiliyoruz scriptimize:

1
2
3
4
5
x = 7.5;

var function y{
"use strict";
z = 5.7;}

 

Neden “use strict” diye sorduğumuz zaman cevap; JavaScript’i daha güvenilir hale getirmek olabilir, kısaca normalde kabul edilecek kötü syntax ı birer hataya çevirir ve çoğunlukla yanlış tanımlanabilecek bir global değişken oluşturmamıza engel olur.

 

Hata döndüren bir kaç “use strict” kullanımını daha paylaşırsam sanırım tam olarak anlaşılır olacaktır.

örneğin Objeler, objeler de birer değişkendir ve onları da tanımlamadan kullanmak hata döndürür:

1
2
3
"use strict";

x = {y1:"ahmet", y2:"kılınç"};

 

Bir değişkeni veya objeyi silmeye çalışırsak yine hata mesajı ile karşılaşırız:

1
2
3
4
"use strict";

var x = 7.89;
delete x;

 

Aynı şekilde bir fonksiyonu silerken de hata ile karşılaşırız:

1
2
3
4
"use strict";

function fonk(y1, y2, y3) {};
delete fonk;

 

Ana hatlarıyla “use strict” bu şekilde kullanılmaktadır. İyi kodlamalar!

ahmet

Ahmet Kılınç - Software Developer

Bunlar da hoşunuza gidebilir...

2 Cevaplar

  1. 29 Temmuz 2017

    […] “strict mode” da ise hoisting hata verecektir. Strict mode hakkındaki yazım için şu linki […]

  2. 29 Temmuz 2017

    […] “strict mode” da ise hoisting hata verecektir. Strict mode hakkındaki yazım için şu linki […]

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

This site uses Akismet to reduce spam. Learn how your comment data is processed.