JavaScript Ders Notu-1
JavaScript Ders Notu-1
1. JavaScript Nedir?
JavaScript, 1995 yılında web sayfalarına dinamik davranış kazandırmak amacıyla gelişti-
rildi. O dönemde web sayfaları büyük ölçüde statik yapıdaydı; yani kullanıcı ile etkileşimi
sınırlıydı. Sayfada bir düğmeye basıldığında anında tepki verilmesi, form verilerinin kont-
rol edilmesi ve sayfa içeriğinin değiştirilebilmesi için tarayıcı içinde çalışan bir dile ihtiyaç
vardı. JavaScript bu ihtiyaca cevap olarak doğdu.
İlk yıllarda JavaScript daha çok küçük etkileşimler için kullanılıyordu. Zamanla tarayı-
cıların gelişmesi, internet altyapısının güçlenmesi ve web uygulamalarının büyümesiyle
birlikte dilin kullanım alanı büyük ölçüde genişledi. Özellikle 2000’li yılların sonlarından
sonra JavaScript, sadece basit bir sayfa betik dili olmaktan çıkarak büyük ölçekli uygu-
lamaların temeli hâline geldi.
Hayır. JavaScript ile Java farklı programlama dilleridir. İsim benzerliği, bu iki dilin teknik
olarak aynı olduğu anlamına gelmez. Sözdizimi açısından bazı benzerlikler bulunsa da
tasarım amaçları, çalışma ortamları ve kullanım biçimleri farklıdır.
1
Bilgisayar Mühendisliği JavaScript Ders Notları
3. ECMAScript Nedir?
JavaScript’in resmi standardına ECMAScript adı verilir. JavaScript dilinin hangi kural-
lara göre çalıştığı, hangi sözdizimine sahip olduğu ve hangi özellikleri içerdiği ECMAScript
standardı ile belirlenir.
Başka bir ifadeyle:
Bu nedenle JavaScript ile ECMAScript aynı şey değildir; fakat çok yakından ilişkilidir.
Uygulamada geliştiriciler genellikle “JavaScript” adını kullanır. Standart tartışılırken ise
“ECMAScript” kavramı öne çıkar.
• let ve const
• Ok fonksiyonları (=>)
2
Bilgisayar Mühendisliği JavaScript Ders Notları
• Modül sistemi
• Şablon dizgileri
• Yıkıcı atama
4.1. Dil
JavaScript bir programlama dilidir. Değişken tanımlama, koşul yazma, döngü kurma,
fonksiyon oluşturma gibi kuralları vardır.
4.2. Motor
JavaScript kodunu çalıştıran yapıya motor denir. Motor, yazılan kodu yorumlar ve yü-
rütür. Farklı ortamlarda farklı JavaScript motorları kullanılabilir.
JavaScript kodunun çalıştığı ortama çalışma ortamı denir. En yaygın çalışma ortamları
şunlardır:
• Web tarayıcıları
• [Link]
3
Bilgisayar Mühendisliği JavaScript Ders Notları
Web sayfasının kullanıcı tarafından görülen ve etkileşim kurulan bölümü ön yüz olarak
adlandırılır. Sayfadaki metinlerin değişmesi, menülerin açılması, butonlara tıklanınca iş-
lemlerin gerçekleşmesi gibi işler JavaScript ile yapılır.
Aynı dilin hem istemci hem sunucu tarafında kullanılabilmesi, JavaScript’i tam yığın
geliştirme için güçlü bir araç hâline getirmiştir.
React Native gibi yapılar aracılığıyla JavaScript kullanılarak mobil uygulamalar geliştiri-
lebilir.
Basit ve orta ölçekli oyunlar tarayıcı üzerinde JavaScript ile geliştirilebilir. Özellikle eğitim
amaçlı projelerde ve etkileşimli görsellerde JavaScript oldukça sık kullanılır.
4
Bilgisayar Mühendisliği JavaScript Ders Notları
JavaScript’in gücü yalnızca dilin kendisinden değil, etrafında oluşmuş büyük ekosistemden
de gelir. Bu ekosistemde çok sayıda araç, kütüphane ve çerçeve bulunmaktadır.
Kütüphane, belirli problemleri çözmek için geliştirilen hazır kod topluluğudur. Geliştirici
ihtiyaç duyduğu zaman bu kodları çağırır.
Framework ise uygulamanın genel yapısını belirleyen, daha kapsayıcı bir geliştirme ça-
tısıdır. Framework, geliştiriciye yalnızca araç sunmaz; aynı zamanda uygulamanın nasıl
organize edileceğini de büyük ölçüde belirler.
5
Bilgisayar Mühendisliği JavaScript Ders Notları
JavaScript güçlü bir dil olsa da bazı zorluklar içerir. Dil tarihsel olarak çok hızlı büyü-
düğü için esnekliği bazen karmaşıklık doğurabilir. Tarayıcı uyumluluğu, büyük projelerde
kod disiplini, paket bağımlılıklarının yönetimi ve hızlı değişen ekosistem bu dilin dikkat
gerektiren yönleri arasındadır.
Özellikle büyük uygulamalarda düzenli dosya yapısı, modüler kodlama, hata ayıklama
becerisi ve iyi bir proje organizasyonu önem kazanır.
6
Bilgisayar Mühendisliği JavaScript Ders Notları
Örnek:
1 2 + 3
Çıktı:
1 5
Bu örnekte:
7
Bilgisayar Mühendisliği JavaScript Ders Notları
Gerçek projelerde daha yaygın olan yöntem, JavaScript kodunu ayrı bir .js dosyasında
tutmaktır. Bu yaklaşım kodun düzenli ve sürdürülebilir olmasını sağlar.
1 <! DOCTYPE html >
2 < html lang = " tr " >
3 < head >
4 < meta charset = " UTF -8 " >
5 < title > Harici JavaScript </ title >
6 </ head >
7 < body >
8 < h1 > Harici Dosya Kullanimi </ h1 >
9
10 < script src = " app . js " > </ script >
11 </ body >
12 </ html >
JavaScript, tarayıcı dışında [Link] ile de çalıştırılabilir. Bu durumda kod bir terminal
üzerinden çalıştırılır ve çıktı terminal ekranında görülür.
1 console . log (" Merhaba , ben Node . js uzerinde calisan JavaScript
koduyum .") ;
2
3 let sayi1 = 7;
4 let sayi2 = 8;
5
Terminal komutu:
1 node hello . js
8
Bilgisayar Mühendisliği JavaScript Ders Notları
[Link], etkileşimli bir komut çalışma ortamı da sunar. Bu ortamda tek tek satırlar yazı-
larak sonuçlar hemen görülebilir.
1 > 10 + 20
2 30
3 > let isim = " Zeynep "
4 undefined
5 > isim . toUpperCase ()
6 ’ ZEYNEP ’
JavaScript kodları herhangi bir metin düzenleyicide yazılabilir. Ancak geliştirme sürecinde
kod tamamlama, hata vurgulama, dosya yönetimi ve hata ayıklama gibi özellikler sunduğu
için gelişmiş editörler tercih edilir.
Yaygın kullanılan editörlerden biri Visual Studio Code ortamıdır. Bu editör, JavaScript
için güçlü destek sağlar ve özellikle eğitim amaçlı kullanımda oldukça uygundur.
Basit bir proje klasörü aşağıdaki gibi olabilir:
1 javascript - ders /
2 |
3 | - - index . html
4 | - - app . js
Tarayıcı ortamında JavaScript genellikle bir HTML dosyası üzerinden çalışır. HTML dos-
yası tarayıcıda açıldığında, içindeki <script> etiketi veya bağlı .js dosyası yürütülür.
9
Bilgisayar Mühendisliği JavaScript Ders Notları
[Link] kurulmuş bir sistemde JavaScript dosyaları terminalden aşağıdaki komutla çalış-
tırılır:
1 node dosyaAdi . js
JavaScript kodu HTML içinde yanlış konumlandırıldığında bazı sorunlar oluşabilir. Örne-
ğin, sayfadaki bir eleman henüz oluşturulmadan JavaScript bu elemana erişmeye çalışırsa
hata alınabilir.
Bunu önlemek için iki yaygın yaklaşım vardır:
Burada defer, JavaScript dosyasının HTML içeriği uygun şekilde hazırlandıktan sonra
çalışmasına yardımcı olur.
Bir web sayfasındaki HTML elemanlarına JavaScript ile erişmek için DOM kavramı kulla-
nılır. DOM, sayfanın programatik olarak temsil edilmesini sağlar. Başlık, paragraf, buton,
10
Bilgisayar Mühendisliği JavaScript Ders Notları
Burada document nesnesi tarayıcı ortamına aittir. Bu nesne sayesinde HTML içindeki
elemanlara erişilebilir.
Kullanıcının sayfa üzerinde yaptığı işlemler olay olarak adlandırılır. Butona tıklamak,
klavyeden tuşa basmak, fareyi hareket ettirmek veya bir formu göndermek olay örnekle-
ridir.
Bir olaya tepki vermek için olay dinleyicileri kullanılır.
1 <! DOCTYPE html >
2 < html lang = " tr " >
3 < head >
4 < meta charset = " UTF -8 " >
5 < title > Buton Ornegi </ title >
6 < script src = " app . js " defer > </ script >
7 </ head >
8 < body >
9 < h1 id = " mesaj " > Henuz butona basilamadi </ h1 >
10 < button id = " btn " > Tikla </ button >
11 </ body >
12 </ html >
Bu örnekte:
11
Bilgisayar Mühendisliği JavaScript Ders Notları
Aynı dil kullanılsa da tarayıcı ile [Link] ortamları aynı değildir. Bu nedenle bazı kodlar
tarayıcıda çalışırken [Link] ortamında çalışmaz.
Ancak aynı ifade [Link] ortamında doğrudan çalışmaz. Çünkü document nesnesi tarayıcı
ortamına aittir.
5. Tarayıcıda çalıştırılır.
12
Bilgisayar Mühendisliği JavaScript Ders Notları
1 proje /
2 |
3 | - - index . html
4 | - - app . js
• Değişkenler
• Veri tipleri
• Operatörler
• Koşul yapıları
• Döngüler
• Fonksiyonlar
• Diziler
• Nesneler
• DOM işlemleri
• Olaylar
Bu kavramlar öğrenildikçe JavaScript ile sadece küçük denemeler değil, gerçek uygulama-
lar da geliştirilebilir.
19. Özet
13
Bilgisayar Mühendisliği JavaScript Ders Notları
JavaScript uygulamaları tarayıcı konsolunda, HTML dosyaları içinde, harici .js dosya-
larında veya [Link] ortamında geliştirilebilir. Tarayıcı ile [Link] arasındaki farkların
bilinmesi, JavaScript’in doğru anlaşılması açısından önemlidir. Uygulama geliştirme süre-
cinde dosya yapısı, DOM erişimi, olay yönetimi ve çalışma ortamı bilgisi temel yer tutar.
14