JavaScript Use Strict neden kullanılır

JavaScript “use strict” kullanım amacı, kodun katı kurallı olarak çalıştırılacağını belirtir.

Katı kurallı kullanımda bir değişken oluşturulmadan kullanmaya izin vermez.

JavaScript kodlarının katı kurallı olarak yorumlanması için kod veya fonksiyon başına “use strict”; yazmak yeterli olacaktır.

Katı kural tanımı kod başına yazılırsa tüm kodlar katı kurallı olarak çalışacaktır.

"use strict";
a = 2;
b = 3;
c = a + b;
alert(c); // Değişken oluşturulmadan kullanıldığından hata verir.
m = 45;
alert(m);
hesapla();

function hesapla() {
"use strict";
a = 2;
b = 3;
c = a + b;
alert(c); // Değişken oluşturulmadan kullanıldığından hata verir.
}

Neden use strict
JavaScript katı kural tanımı “güvenli” kod yazmak için kullanılır.

Katı kural tanımı daha önceki hatalı kullanımın önüne geçer.

Örnek olarak JavaScript’te değişken adını yazarak bir değişken kullanabilirsiniz. Ancak katı kural tanımı ile değişken oluşturmadan değişken kullanmak hata verecektir.

JavaScript’te nesne özelliği yazılamaz olan özelliklere değer ataması yapıldığında hata vermeyecektir.

Katı kural tanımında yazılamaz olan bir özelliğe, yalnızca okunabilen bir özelliğe, olmayan bir özelliğe, olmayan bir değişkene ve olmayan bir nesneye yapılan atamalar hata verecektir.

Bazı kuralları;

*Değişken oluşturulmadan kullanmak hata verir.

*Değişken ve nesnenin silinmesine izin verilmez.

*Fonksiyon silinmesine izin verilmez.

*Fonksiyona aynı parametrenin iki defa yazılmasına izin verilmez(a(a1, a1)).

*Kaçış karakterlerine izin verilmez.

*Sadece okunabilir bir özelliğe değer atamaya izin verilmez.

*Sadece değer döndüren özelliğe değer atamaya izin verilmez.

*Silinemez bir özelliğin silinmesine izin verilmez.

*Değişken ismi olarak “eval” kullanılmasına izin verilmez.

*Değişken ismi olarak “arguments” kullanılmasına izin verilmez.

*JavaScript with kullanımına izin verilmez.

*JavaScript eval fonksiyonu ile oluşturulmuş değişkenlerin kullanımına izin verilmez.

Anahtar kelimelerin kullanımına izin vermez;

  • implements
  • interface
  • let
  • package
  • private
  • protected
  • public
  • static
  • yield

React Native Life cycle

var Bilesen = React.createClass({
componentWillMount() {
    console.log("Bileşen oluşturulacak.")
},
componentDidMount() {
    console.log("Bileşen oluşturuldu.")
},
componentWillReceiveProps(newProps) {
    console.log("Bileşen yeni props alacak.")
},
shouldComponentUpdate(newProps, newState) {
    // Bileşeni render et.
    return true;
},
componentWillUpdate(nextProps, nextState) {
    console.log("Bileşen güncellenecek.");
},
componentDidUpdate(prevProps, prevState) {
    console.log("Bileşen güncellendi.")
},
componentWillUnmount() {
    console.log("Bileşen DOM'dan silindi")
},
render: function () {
    // Bileşen render ediliyor.
    return (
    test
    );
} 
});
ReactDOM.render(<Bilesen/>,document.getElementById("icerik"));