Yazılım.
CevapSitesi.com Beta!
Çözüm Noktası
Facebook, Twitter, Google+ veya e-posta ile paylaşın.
| Sorular | Makaleler | Üyeler | Etiketler  | İletişim
Soru sormak ya da cevap vermek için;
giriş yapın veya üye olun.

Sosyal medya hesaplarınızla da giriş yapabilirsiniz.
0

JavaScript'de kullanılan "use strict" ifadesi ne işe yarar

JavaScript'deki "use strict" ifadesi nedir? Ne işe yarar? Kullanmalı mıyım yoksa kullanmamalı mıyım?

Bazı JavaScript kütüphanelerini kullandığımda şöyle bir hata ile karşılaşıyorum:

Problem at line 1 character 1: Missing "use strict" statement.
Şimdiden teşekkür ederim.

Soran:07.04.16 17:29
misafir  

1 Cevap

0
"use strict" JavaScript kodlarının "katı modda" çalıştırılmasını söyleyen bir bildirimdir. Kendisi bir komut değildir.

Kullanımı şöyledir;

Tüm fonksiyonlar için geçerli olması isteniyorsa fonksiyonların dışına yazın.
"use strict";

function bir() {

}

function iki() {

}

Tek bir fonksiyon için geçerli olması isteniyorsa fonksiyonun başına yazın.

function bir() {
	"use strict";
	...
}

Bunu kullandığınız kodlarda veya fonksiyonlarda aşağıdakileri yaptığınızda bazılarında hata ile karşılaşırsınız, bazıları ise belirli kurallar içinde kullanmanız gerekir.

1. Önceden tanımlanmamış global değişkenlere izin vermez.
function deneme() {
	sayi = 10; // Hata! Sayı fonksiyon içinde veya dışında global olarak tanımlanmamış.
}
2. Normalde hata göstermeyen yanlış atamalarda hata alırsınız.
NaN = 5;
3. Silinemeyen nesne özelliklerini silmeye çalışmak hata verir.
delete Object.prototype;
4. Bir nesne tanımlamasında kullanılan tüm özellik adlarının tekil olması gerekir.
var obj = {x:"1", x:"2"};
5. Bir fonksiyonun parametre isimlerinin tümü tekil olmalıdır.
var bir(x, x) {
}
6. JavaScript with ifadesinin kullanımını engeller.
7. Octal (8 tabanlı sayı) atamalarını engeller.
8. Eval fonksiyonu ile yeni değişken oluşturan ifadeleri kullanamazsınız.
9. Delete ifadesi ile bir değişkeni silemezsiniz ancak değişkenin bir özelliğini silebilirsiniz.
var a = {x: 0};

delete a.x; // Çalışır
delete a; // Çalışmaz
10. Fonksiyonların "arguments" özelliğinin kullanımında bazı kısıtlamalar vardır.

Tabii ki bunlardan sonra kullanıp kullanmamak sizin kararınız. Ancak JavaScript'in tip katılığı da dahil olmak üzere normalde katı bir dil olmaması göreceli olmakla birlikte güzel bir özellik sayılabilir. Ancak bazı hataları yapma ihtimalini de arttırır.

Sonuç olarak "use strict" kullanımı tamamen kişiye bağlıdır. Derseniz ki sen hiç kulandın mı? Hayır hiç kullanmadım ve şimdiye kadar da bir sorun oluşturmadı. Zaten oluşturduysa da hatalar gösterilmediğinden benim haberim yok :)

Kaynaklar: 


Cevaplayan: 07.04.16 15:03
cevapsitesi
102,034p 15ü
Cevabı seçen: 08.06.16 00:02
canora
101,387p 4ü