Derse geri dön
Bu materyal sadece عربي, English, Español, Français, Indonesia, Italiano, 日本語, 한국어, 简体中文 dillerinde mevcuttur. Lütfen Türkçe diline çevirmek için bize yardım edin.

Yazım Kontrolü

önem: 2

Aşağıdaki kodun çıktısı nedir?

let kullanici = {
  isim: "İhsan",
  selamVer: function() { alert(this.isim) }
}

(kullanici.selamVer)()

Not: Dikkatli düşün :)

Hata!

Deneyebilirsiniz:

let kullanici = {
  isim: "John",
  selamVer: function() { alert(this.isim) }
}

(kullanici.selamVer)() // error!

Tarayıcıların çoğundaki hata mesajının anlaşılmaz.

The error appears because a semicolon is missing after kullanici = {...}.

JavaScript parantezden önce noktalı virgül koymaz. Bu durumda kod aşağıdaki gibi çalışacaktır:

let kullanici = { selamVer:... }(kullanici.selamVer)()

Bu şekilde çağırıldığında, let kullanici ile çağrı aynı satırda yapılmış olur. Ayrıca bu tanımlanan fonksiyon (kullanici.selamVer) şeklinde aynı satırda argüman olarak kullanılmıştır. Bundan dolayı da hata oluşmaktadır.

Eğer noktalı virgül koyarsanız herşey beklediğiniz gibi çalışır:

let kullanici = {
  isim: "İhsan",
  selamVer: function() { alert(this.isim) }
};

(kullanici.selamVer)() // John

(kullanici.selamVer) etrafındaki parantez bir işe yaramaz. Sadece sıralamayı belirtir. Bu soruda ; önemliydi.