# JavaScript Syntax

Js syntax olarak her satır bir kod blogudur istenirse **;(noktalı virgül)** ile bittigi söylenebilir yada  alt satıra geçtigimizde otomatik bittigini anlayacaktır.Bu esnekligin yanında istenirse ben katı olarak kurallara uyacagım diyebilmek için kod blogumuzun en üst kısmına  **use strict ** yazmamız yeterli olacaktır bu şekilde yazarak tüm kurallara harfiyen uyacagımızı denetimin yazarda oldugunu derleyiciye bildirmiş oluyoruz.

```
"use strict";

// Bu kod modern JavaScript olarak çalışır
//En üste yazılmazsa çalışmayacaktır
``` 


## Yorum satırı
Bazı durumlarda kodlarımızıda degişiklige gitmek istedigmizde aradan süre geçtiginde neyi niçin yaptıgımızı hatırlamayabiliriz ve kod bloglarımız arasına irili ufaklı ntolar bırakmak isteyebiliriz bunun için yapmamız gereken diger geliştirme dillerinde oldugu gibi kullanımları mevcuttur.

```
document.getElementById("metin").innerHTML="Yorumsuz";
//Bu alan yorum satırı
/*bu alanda yorum satırı */
``` 

## Degişkenler
Verilerimizin saklanabilmesi ve saklandıktan sonra ulaşılabilmesi için referans adresine ihtiyacımız vardır bu adreslere degişken olarak adlandırıyoruz.Elimizde kagıda yazılı bazı bilgiler olsun ve bu kagıtları saklamak için kullandıgımız kutular olsun hangi kutuya hangi bilgiyi koydugumuzu anımsamak için kutuların üzeirne mantıklı ve anımsatıcı adlar vermeliyiz daha sonra ulaşmak içinde bu adları kullanırız işte tam olarak degişken tanımlamada böyle bir şeydir.3 tip degişken türü bulunmaktadır

1. **const :** Degişmeyecek olan verilerimizin tutuldugu türdür.Örnegin pi sayısını bir işlemde sabit olarak 3,15 alacagımız ve degişmeecegi durumlarda kullanılabilir

2. **var :**Her türlü veriyi saklayabildigimiz türdür isterse string(metinsel veri),char(karaktersel),int(sayısal),object

3. **let :**Var ile aynı işlemleri yapabilir **ancak ** farklı olarak 
 
var ile tanımlanan bir fonksiyon düşünelim bu fonksiyonun içersinde name adlı bir degişken tanımlanmış olsun normal şartlarda fonk. içinde tanımlanan degişken fonksiyon içindekileri ilgilendirir  sadece buradan ulaşılmalıdır eger ki dışarıdan erişim olursa karmaşıklıga sebep olabilir

```
function Merhaba(){ var name="Şinasi"; }
console.log(name);
//Normal şartlarda hata vermeli çünkü name adlı degişken Merhaba adlı fonk içinde 
//tanımlanmış ve dışarı aktarılmak için bir işlem yapılmamasına ragmen scope dışına çıkabilmiş durumda
``` 

var ile yapılan tanımlamanın nerede oldugunun önemi yoktur fonksiyon çalıştıgında çalışır 
```
function Merhaba() { durum = "Merhaba";
  alert(durum);
  var durum;
}
``` 




