9.09.2024

Javascript Nedir?

Bu soruyla oldukça başa dönmüş gibi görünsek de bu Javascript'in gelmişini geçmişini... ehem, yani Javascript dilinin nasıl gelişip bugünkü haline geldiğini şöyle bir özetlesem iyi olur diye düşündüm. Hatırlamadığım kısımları araştırmak ve bu sırada bilmediğim detaylara denk gelmek de hoş oldu. Ayrıca üşenmez de devamını getirirsem bu yazı bir Javascript serisinin de ilk yazısı niteliğini taşıyor.  

Bir tanımla başlayalım ve geçmişi ile devam edelim. Bir de "Hello World!" yazamadan bırakmayalım. Hatta ileriye yatırım yapıp bir iki programın bilgisayarınızda kurulu olduğundan da emin olalım. İyi okumalar.

Javascript ya da çoğu yerde kullanılan kısaltmasıyla JS çalıştırıldığı sırada yorumlanan bir programlama dilidir. Javascript birinci sınıf fonksiyonlara sahip yani fonksiyonları bir değer olarak değişkenlere atanabilen bir dildir. Çoğunlukla web sayfalarında interaktivite sağlamak için kullanımıyla bilinse de Javascript tarayıcılar dışında yer alan derleyici ve yorumlayıcılar tarafından da çalıştırılabilir. Javascript ile bir API geliştirebilir, Mobil uygulama yazabilir ya da masa üstü uygulaması geliştirebilirsiniz.

Javascript bir scripting language'dır. Bu kavram pek çok yerde betik dil olarak Türkçeleştiriliyor. Scripting language kavramı mevcut bir sistem üzerinde işlem yapmak için özel olarak tasarlanmış bir programlama dili olarak tanımlanabilir. Örneğin JavaScript bir tarayıcı ya da onu yorumlayacak bir motor olmadan çalışmaz ve javascript ile çalıştığı uygulamanın içinde ya da imkan verdiği ölçüde işlemler gerçekleştirebiliriz. Bu nedenle JavaScript ve benzeri dillere High-Level language da denir.

Javascript ilk olarak Netscape tarafından 1995 yılında düzenlenen bir basın açıklamasında Brendan Eich tarafından duyuruldu. İlk başta Mocha olarak isimlendirilen dil sonra LiveScript adını aldı. 1996'da ise Netscape dilin adını JavaScript olarak belirlemeye karar verdi.

1996'da Netscape JavaScript'i genel kabul görecek bir standarda uygun şekilde geliştirmeye devam edebilmek için Ecma International isimli kar amacı gütmeyen bilişim ve iletişim sistemleri için standart belirleyici organizasyona gönderdi. Ecma tarafından belirlenen ECMA-262 spesifikasyonun  İlk versiyonu EcmaScript (ES) adıyla genel kullanıma uygun bir betik dil (general purpose scripting language) standardı olarak 1997 yılında yayınlandı ve 2. versiyon 1998 yılında, 3. versiyon ise 1999 yılında bunu takip etti.

Burada basit ama nedense kafa karıştıran bir ayrımdan da hızlıca bahsedelim. Yukarıda bahsettiğimiz gibi Javascript bir programlama dili, EcmaScript ise bir spesifikasyon, bir standarttır. JavaScript, EcmaScript spesifikasyonuna uygun olarak geliştirilmeye çalışılmakta ancak ufak tefek farklılıklar olabilmektedir.

Uzun yıllar boyunca üzerinde bir sürü anlaşılamayan konu bulunan ES4 yayınlanmadan rafa kaldırılarak 2009 yılında ES5 yayınlandı. ES5 kullanımı hızlı bir şekilde artmadı çünkü yeni standartlara uyum sağlamak geliştiriciler için zaman alan bir süreçti. ES5 yayınlandıktan sonra TC39 adında ECMA International altında faaliyet gösteren komite yeni versiyon için çalışmalarını sürdürdü. İlk başta ES Harmony olarak isimlendirilen yeni versiyon 2015 yılında ES2015 adıyla yayınlandı. Ancak hala geliştiriciler arasında ES6 olarak da anılıyor. ES6 ile pek çok özellik, standardın içine dahil edildi. ES6'nın tüm özelliklerinin tarayıcılar tarafından desteklenir hale gelmesi için çalışmalar sürerken T39 her yıl yeni bir versiyon yayınlamaya karar verdi.

2016 yılında ES2016 (ES7), 2017 yılında ise ES2017 (ES8) versiyonları yayınlandı. Ve standardın geliştirilmesi bu şekilde yıllık olarak devam ediyor. Her yıl versiyon değiştiren standardın son yayınlanan ve geçerli kabul edilen versiyonu için ise ESNext ifadesi kullanılıyor.

Yazacağımız JavaScript kodlarını bir HTML dosyasına <script> tagı ile ekledikten sonra tarayıcı ile açarak, Google Chrome ile gelen Javascript Developer Console'unu kullanarak ya da NodeJS'in REPL'ini kullanarak çalıştırabiliriz. Basit bir JavaScript kodunu bu 3 yolla da çalıştırmayı az sonra göreceğiz ancak ilerleyebilmek için önce geliştirme ortamımızı buna uygun hale getirmeli gerekli yazılımların kurulu olduğundan emin olmalıyız.

Geliştirme Ortamının hazırlanması

Bu blogdaki pek çok yazıda JavaScript ile ilgili anlatılan içeriği takip ederken kendiniz de eşlik etmek isterseniz aşağıdakilere, kullanacağınız bilgisayar üzerinde ihtiyaç duyabilirsiniz.

Öncelikle, bilgisayarınızda Google Chrome kurulu değilse bu linkten indirerek kurulumunu tamamlayabilirsiniz.

Sonra işletim sisteminize uygun güncel NodeJS sürümünü https://nodejs.org/en/download adresinden indirip kurabilirsiniz. Kurulum bittikten sonra bir terminal (Command Prompt) açarak "node -v" komutu ile yaptığınız kurulumun sağlamasını yapabilirsiniz. Eğer kurulumu yaptığınız halde yukarıdaki komuttan komutun bulunamadığı yönünde bir hata mesajı alıyorsanız. NodeJs'i manuel olarak sisteminizin PATH'ine eklemelisiniz.

Son olarak VS Code'u bu linkten indirip kurabilirsiniz.

HTML içinde JavaScript çalıştırmak.

Öncelikle proje klasörümüzü hello-world-with-html ismiyle oluşturup VS Code ile açalım. Daha sonra index.html isimli bir dosya oluşturarak aşağıdaki kodu içine yapıştırıp kaydedelim.

<!DOCTYPE html>
<html lang="tr-TR">
  <head>
    <meta charset="UTF-8" />
    <script>
      alert('Hello World!');
    </script>
  </head>
  <body></body>
</html>

HTML dosyasının içeriği bizim için şu anda pek önemli değil. Sadece <script> tag'ının (etiketinin) içine dikkat etmemiz gerekiyor. Çünkü ilk JavaScript kodumuzu buraya az önce yazdık.

Nasıl çalıştığını görmek için VS Code'un sağ alt tarafında yer alan Go Live (Live Server Extenson'ını kurmanız gerekebilir.) butonuna basın. Aşağıdaki gibi bir görüntüyle karşılaşacaksınız. İlk JavaScript kodunuz artık çalıştı.


JS Developer Console İle JavaSript çalıştırmak 

Google Chrome ile gelişmiş bir JavaScript geliştirici aracı olan JavaScript Developer Console'a da sahip olmuş oluyorsunuz. Bu konsola ulaşmak için herhangi bir sayfa yüklendikten sonra. F12 tuşuna basmanız yeterli.

Console kısmında bir önceki örnekte script tagı içine yazdığımız alert('Hello World!'); ifadesini çalıştırırsak aynı sonucu aldığımızı göreceksiniz.


Node REPL ile JavaScript çalıştırmak

REPL, Read, Eval, Print Loop kelimelerinin baş harflerinden oluşur. Bir REPL bu kelimelerin de ifade ettiği gibi kesintisiz bir döngü halinde sizi dinler girdiğiniz komutu yorumlar ve çıktıyı yazar.

Node REPL'ini kullanmak için bir command prompt ya da powershell açarak node yazmanız yeterli. Açılan komut satırına javascript ifadeleri yazarak yorumlanmasını sağlayabilirsiniz. Daha önce kullandığımız alert ifadesini burada çalıştırmak isterseniz "Uncaught ReferenceError: alert is not defined" hatasını alacaksınız. Çünkü burada kullandığımız alert fonksiyonu tarayıcılara özgü bir bileşen ve node içinde yer almıyor. Bunun yerine 2+2 gibi bir matematiksel ifade yazarak sonucunu görebilirsiniz. Ya da console.log("Hello World!"); ifadesi ile "Hello World!" yazdırarak 3. javascript çalıştırma metodu ile ekranda "Hello World!" yazısını görebilirsiniz.


Aşağıdaki Kaynaklar listesi bu yazıda verilen bazı bilgilerin kaynağını gösterdiği gibi yazıda değinmediğim ama bu konu ile ilgili fayda elde edebileceğinizi düşündüğüm linkleri de içeriyor. İncelemeden geçmeyin derim.

Okuduğunuz için teşekkürler.

Kaynaklar:

https://developer.mozilla.org/en-US/docs/Web/JavaScript

https://en.wikipedia.org/wiki/Scripting_language

https://www.freecodecamp.org/news/whats-the-difference-between-javascript-and-ecmascript-cba48c73a2b5/

https://tc39.es/

https://www.digitalocean.com/community/tutorials/how-to-use-the-javascript-developer-console

https://www.digitalocean.com/community/tutorials/how-to-use-the-node-js-repl

https://www.geeksforgeeks.org/installation-of-node-js-on-windows/

https://www.digitalocean.com/community/tutorials/node-js-environment-setup-node-js-installation