5.00 / 1 oy

JavaScript'te “use strict” ifadesi ne işe yarar?

Bazı javascript kodlarında "use strict" yazdığını görüyorum ama ne anlama geldiğini bir türlü anlayamadım. Konu hakkında bilgisi olanlar bu ifadenin ne anlama geldiğini, ne amaçla kullanıldığını, hangi tarayılar tarafından desteklendiğini ve kullanılmazsa ne değişeceğini yazabilirler mi?

ertan16

23.05.2019 18:00

Bu soru 1 kez yanıtlandı.

  • 28 Mayıs 2019 23:19
    0

    Strict ModeECMAScript 5 ile gelen bir özellik. 

    (function(){
      "use strict";
      
      // Burası strict
      // Buraya kodlar gelecek
      
    })();
    
    // burası ise strict değil 

    Strict mode tüm güncel tarayıcılar tarafından uzun süredir zaten destekleniyordu. ne anlama geldiğini ve ne amaçla kullanıldığına gelince:

    Strict kelimesi Türkçe "sıkı" anlamına gelmektedir. Strict mode da "sıkı mod" olarak düşünülebilir. Yazılan bir program ya da fonksiyon, yazıldığı scope (tanım aralığı, kapsam) içerisinde farklı özellikere sahip olmuş olurlar. Peki nedir bu özellikler?

    Strict mode;

    - Hataları (exception) daha kolay yakalar ve yönetir,

    - Global nesnelere erişim özellikleri yoktur ya da denendiğinde hata verirler

    - Güvenli olmayan olarak nitelendirilebilecek eylemleri ya da programın geneline etki edecek eylemleri yapamazlar, strict context buna izin vermez.

    - Daha temiz javascript kodu yazmak ya da kurallarına uyma konusunda da yazılımcıyı zorlar, daha önce "kötü syntax" olarak nitelendirilebilecek bir kod parçacığı hataya dönüşebilir (detaylarına girmiyorum). tek bir örnekle, strict olmayan modda bir global değişkenin hatalı yazımı yeni bir global değişkene yol açarken, strict mode buna izin vermez ve hata verir.

    Strict mode'u bir scope içerisinde aktif hale getirmek için:

    "use sctrict";

    ifadesi, o tanım aralığı (muhtemelen fonksiyon) başında yazılır. Bir çok kütüphane de uzun süredir strict modda hazırlandığı için görmüş olmanız muhtemeldir zaten.

Bu soruya sadece kayıtlı kullanıcılar yanıt yazabilirler. Yanıt yazmak için lütfen giriş yapınız.

Reitix
JavaScript'te “use strict” ifadesi ne işe yarar?

İnternet sitemizdeki deneyiminizi iyileştirmek için çerezler kullanıyoruz. Bu siteye giriş yaparak çerez kullanımını kabul etmiş sayılıyorsunuz. Daha fazla bilgi.