Web Programlama

Web Programlama

DERS PROGRAMI
Web Programlama 301 Ders Programı

JavaScript Nedir?

Lisans: Creative Commons 26.11.2020 tarihinde güncellendi
Bakabileceğiniz Etiketler: Eğitmen: Geleceği Yazanlar Ekibi

JavaScript, yaygın olarak web tarayıcılarında kullanılmakta olan bir betik dilidir. JavaScript ile yazılan istemci tarafı betikler sayesinde tarayıcının kullanıcıyla etkileşimde bulunması, tarayıcının kontrol edilmesi, asenkron bir şekilde sunucu ile iletişime geçilmesi ve web sayfası içeriğinin değiştirilmesi gibi işlevler sağlanır. JavaScript, Node.js gibi platformlar sayesinde sunucu tarafında da yaygın olarak kullanılmaktadır.

İlk olarak bir Netscape çalışanı olan Brendan Eich tarafından geliştirilen ve 1997 yılından beri bir ECMA standardı olan JavaScript, günümüzde Mozilla Vakfı öncülüğünde özgür yazılım topluluğu tarafından geliştirilmekte ve bakımı yapılmaktadır.

Web sayfalarının görünümünün mükemmelleştirilmesi, işlevselliğinin artırılması ve dinamik web sayfaları tasarlanması amacıyla JavaScript, HTML kodu içinde gömülü olarak (embedded) kullanılabilir. JavaScript, bir programlama dili disiplini ve özelliklerine sahiptir.

Aralarında isim benzerliği olmasına rağmen, Java ile JavaScript arasında teknik olarak çok önemli farklılıklar mevcuttur. Aşağıdaki tabloda bu farklılıklar vurgulanmaktadır:

JavaScript  Java
İstemci (client) tarafından (örn. web tarayıcı) yorumlanır (derlenmez). Derlenmiş bytecode denilen program istemcide çalıştırılır.
Nesneye dayalı bir dildir. Nesne tipleri arasında farklılık yoktur. Herhangi bir nesneye yeni özellik ve metotlar dinamik olarak eklenir. Nesneye yönelik teorinin miras alma (inheritance) özelliği prototip mekanizmasıyla gerçekleştirilir. Nesneye yönelik bir dildir. Nesneler çeşitli sınıflara ayrılmıştır ve miras alma mekanizması, sınıf hiyerarşisi sayesinde gerçekleştirilir. Sınıf ve sınıf örneklerine özellik ve metotlar dinamik olarak eklenemez.
Değişken veri tip bildirimi mekanizması yoktur. Değişken tip bildirimi zorunludur.
Dinamik bağlama mekanizması kullanılır yani nesneye verilen referanslar çalışma zamanında (run time) kontrol edilir. Statik bağlama mekanizması kullanılır yani nesne referansları derleme zamanında (compile time) kontrol edilir.