JavaScript

JavaScript Ders Notları

JavaScript, günümüzde web sayfalarına dinamiklik ve etkileşim kazandırmak için en çok kullanılan programlama dillerinden biridir. Bu yazı, JavaScript’e yeni başlayanlar veya temel bilgilerini tazelemek isteyenler için hazırlanmış bir ders notu niteliği taşımaktadır. Amacımız, dilin temel yapısından başlayarak, pratik kullanım örnekleriyle birlikte özet ve anlaşılır bir anlatım sunmaktır.

İçerik boyunca; JavaScript’in HTML içinde nasıl kullanıldığından başlayarak, değişken tanımı (const, let), fonksiyon yazımı (hem klasik hem de arrow function), temel veri türleri, nesne (object) yapısı gibi temel konuları ele alacağız. Bununla birlikte, HTML elemanlarının JavaScript ile nasıl seçildiğini, olay (event) dinleyicileri ile nasıl etkileşime geçildiğini, koşullu yapılar (if/else) ve döngülerin (for, forEach) pratik kullanımını da örneklerle inceleyeceğiz. Ayrıca console.log() ve console.dir() gibi araçlarla kodun nasıl inceleneceğini ve basit debug yöntemlerini de göstereceğiz.

Makalenin ilerleyen bölümlerinde ise JavaScript ile eklenti (plugin) kullanımına değineceğiz. CDN aracılığıyla veya GitHub gibi kaynaklardan indirilen script dosyalarının sayfaya nasıl entegre edildiğini ve örnek bir eklentinin (örneğin bir lightbox ya da slider) nasıl çalıştırıldığını adım adım açıklayacağız. Böylece hem temel kavramları öğrenmiş olacak, hem de gerçek dünyada JavaScript’i nasıl kullanabileceğiniz hakkında fikir sahibi olacaksınız.

Hadi başlayalım ve JavaScript dünyasında keşfe çıkalım! Her adımda birlikte ilerleyerek, bu güçlü dilin temellerinden ileri düzey kullanımına kadar her yönünü keşfedeceğiz. Hazır mısın?

JavaScript Tanıtımı ve Kullanımı

JavaScript, web sayfalarına etkileşim eklememizi sağlayan bir programlama dilidir. HTML ve CSS ile birlikte çalışır. Örneğin: bir düğmeye tıklayınca bir uyarı vermek, form alanını kontrol etmek ya da animasyon yapmak için JavaScript kullanılır.

JavaScript kodlarını iki şekilde yazabiliriz:

📍 Dahili JavaScript (HTML içinde <script> etiketiyle)
📍 Harici JavaScript (Ayrı dosya ile <script src="">)


📍 Dahili JavaScript (HTML içinde <script> etiketiyle)

Bu yöntemle JavaScript kodları doğrudan HTML dosyasının içine yazılır. Genellikle <body> etiketinin sonuna eklenir.

HTML

<script> etiketi içinde yazılan kodlar doğrudan sayfa yüklendiğinde tarayıcı tarafından çalıştırılır.

Butona tıklanınca selamla fonksiyonu çağrılır ve bir uyarı gösterilir.

📍 Harici JavaScript (Ayrı dosya ile <script src="">)

Bu yöntemde JavaScript kodları ayrı bir .js dosyasına yazılır. HTML dosyasına bu dosya <script src="dosya.js"> ile bağlanır.

HTML

harici.js

Kodlar daha düzenli olur.

Birden fazla sayfada aynı JS dosyasını kullanmak kolaylaşır.

Genellikle projelerde bu yöntem tercih edilir.

📌 console.log() Nedir?

console.log() JavaScript’te en sık kullanılan yardımcı fonksiyonlardan biridir.
📤 Amacı: Bir değeri tarayıcının geliştirici konsoluna yazdırmaktır.
Bu sayede kodun nasıl çalıştığını kolayca görebilir, hataları takip edebilirsin.

Nerede Görülür?
Tarayıcının geliştirici araçlarını aç:

  • Sağ tık > “İncele” > “Console” sekmesi
  • Veya F12 tuşuna bas

Örnek:


Değişken Tanımlama – const ve let

JavaScript’te veri saklamak için değişkenler kullanılır. Örneğin bir ismi, sayıyı ya da sonucu bir değişkende tutabiliriz.

Eskiden var kullanılırdı ama artık modern JavaScript’te let ve const tercih edilir.

📍 let – Değiştirilebilir Değişken

let ile tanımlanan değişkenin değeri sonradan değiştirilebilir.

Örnek:

📍 const – Sabit (Değiştirilemez) Değişken

const ile tanımlanan değişkenin değeri bir kez atanır, sonradan değiştirilemez.

Örnek:

📌 let mi const mu?

  • Eğer değer değişmeyecekseconst
  • Eğer değer değişecekselet

Bu şekilde yazmak kodun okunabilirliğini artırır ve hata yapmanı zorlaştırır.

📝 Ekstra Not

  • const ile tanımlanan bir object ya da array’in içeriği değiştirilebilir ama kendisi farklı bir değere atanamaz.

Örnek:

Hazırsan şimdi sıradaki konuya geçebiliriz:


Object (Nesne) Tanımlama

JavaScript’te object (nesne), birden fazla veriyi anahtar-değer (key-value) şeklinde bir arada tutmak için kullanılır.
Eklenti kullanımında da (örneğin ayar nesneleri, veri yapılandırmaları) nesneler çok işe yarar.

📍 Basit Object Tanımı

Örnek:

📝 Bu örnekte:

  • ad, yas, sehir → anahtar (key)
  • "Ayşe", 30, "İstanbul" → değer (value)

📍 Object Üzerinden Değere Erişim

Bir nesnedeki bilgilere iki şekilde ulaşabilirsin:

Nokta (.) kullanımı en yaygın olandır.
Köşeli parantez ([]) daha dinamik durumlarda kullanılır (örneğin key bir değişkense).

📍 Nesneye Yeni Özellik Ekleme / Değiştirme

📦 Eklenti Kullanımında Neden Object Gerekli?

Birçok eklenti yapılandırma için nesne alır.
Örnek (gerçek değil, hayali bir slider eklentisi):


Fonksiyon Tanımı

Fonksiyonlar, belirli bir işlemi bir kere tanımlayıp, istediğimiz zaman tekrar tekrar kullanmamızı sağlar.
Kodu daha düzenli ve okunabilir hale getirir.

📍 1. Klasik Fonksiyon Tanımı (function ile)

function ile fonksiyon tanımlanır.

selamVer() çağrıldığında içindeki kod çalışır.

📍 Parametreli Fonksiyon

Bir fonksiyona dışarıdan değer verebiliriz:

📍 Geri Değer Döndüren Fonksiyon (return)

Fonksiyonlar sadece işlem yapmak zorunda değildir, değer de döndürebilir.

📍 Arrow Function (ok fonksiyonu) – Kısaca

Modern JS’te sık kullanılan kısa fonksiyon tanımıdır.

yada parametreli:

=> sembolü sebebiyle “arrow function” (ok fonksiyonu) denir.

Genellikle kısa işlemler için tercih edilir.

this davranışı farklıdır, ama onu başlangıç seviyesi için es geçebiliriz.

📍 Anonim Fonksiyon

Anonim fonksiyonlar, adı olmayan fonksiyonlardır. Genellikle bir kez kullanacağımız ya da bir değişkene atayacağımız fonksiyonlar için tercih edilir. Bu fonksiyonlar, tanımlandıkları anda çalıştırılabilir.

Bu örnekte, topla adında bir değişkene anonim bir fonksiyon atadık. Fonksiyonun kendisi adı olmayan bir fonksiyondur.


Temel Veri Türleri ve Object Tanımı

JavaScript’te farklı türlerde veri saklayabiliriz. Bu veriler, sayılar, metinler, mantıksal değerler gibi temel türlerden oluşur. Ayrıca object (nesne) veri yapıları daha karmaşık ve organize veriler için kullanılır.

📍 Temel Veri Türleri

1. Sayı (Number)

JavaScript’te sayılar hem tam sayılar hem de ondalıklı sayılar için aynı türdeki veri tipidir.

Örnek:

2. Metin (String)

String (metin) veri türü, kelimeler veya harfler gibi karakter dizilerini tutar.

Örnek:

Not: Metinler her zaman tek tırnak (”) veya çift tırnak (“”) arasında yazılır.

3. Mantıksal Değer (Boolean)

Boolean veri türü, doğru veya yanlış (true/false) değerlerini tutar. Genellikle koşul ifadelerinde kullanılır.

Örnek:

📍 Object Yapısı (Nesne Tanımlama)

JavaScript’teki object (nesne), anahtar-değer (key-value) çiftlerini tutan bir veri yapısıdır. Genellikle bir nesnenin özelliklerini saklamak ve düzenlemek için kullanılır. Eklentilerde de genellikle object yapısı kullanılır.

Object Tanımlama

Bir nesne, {} süslü parantezler içinde tanımlanır. Her özellik, anahtar-değer çifti olarak belirtilir.

Örnek:

Nesneden Özelliklere Erişim

Bir nesneye erişmek için nokta (.) ya da köşeli parantez ([]) kullanılabilir.

Örnek:

Nesneye Yeni Özellik Ekleme

Bir nesneye yeni özellik eklemek için:

📍 Eklenti Verisi İçin Object Kullanımı

Eklentilerde genellikle yapılandırma (configuration) nesneleri kullanılır. Örneğin, bir slider eklentisi için ayarları tutan bir nesne:

Örnek:

Bu tür nesneler, eklentiye hangi ayarlarla çalışması gerektiğini belirtmek için kullanılır.

Özet

  • Number: Sayılar (tam sayı ve ondalıklı)
  • String: Metin (karakter dizisi)
  • Boolean: Mantıksal değerler (true/false)
  • Object: Anahtar-değer çiftleri ile veri yapısı (özellikleri gruplamak için kullanılır)

HTML Nesne Seçici – querySelector ve querySelectorAll

HTML elemanlarına JavaScript ile erişmek için kullanılır. Bu yöntemler, CSS seçicilerini kullanarak DOM (Document Object Model) içindeki öğeleri seçmeyi sağlar.

📍 querySelector

querySelector, ilk bulunan öğeyi seçer. CSS seçicileri ile çalışır, yani herhangi bir CSS seçicisi yazılabilir.

Kullanımı:

Not: Eğer birden fazla öğe varsa, sadece ilk bulunan öğe döndürülür.

📍 querySelectorAll

querySelectorAll, verilen CSS seçicisine uyan tüm öğeleri seçer. Sonuç bir NodeList döndürür, bu da bir dizi gibi davranır.

Kullanımı:

Açıklama:

console.log(kutu): Bu komut, her bir kutu öğesinin kendisini konsola yazdırır. Bu şekilde, öğenin tüm özelliklerini ve içeriğini görebiliriz.

HTML Yapısı:

Üç tane <div> öğesi var, her biri .box sınıfına sahip.

Bu div’ler sırasıyla Birinci kutu, İkinci kutu, ve Üçüncü kutu yazıları içeriyor.

JavaScript:

document.querySelectorAll('.box'): Bu kod, tüm .box sınıfına sahip öğeleri seçer ve bunları NodeList türünde bir koleksiyon olarak döndürür. Bu koleksiyon, kutular değişkenine atanır.

kutular.forEach(function(kutu) {...}): Bu satırda, NodeList üzerinde forEach döngüsü ile dönüyoruz. forEach, her bir kutu üzerinde işlem yapmamızı sağlar.

Süper! Şimdi sırada:


🎯 Olay (Event) Kullanımı

JavaScript ile HTML öğelerine etkileşim kazandırmak için olaylar (events) kullanılır. Kullanıcı bir butona tıkladığında, bir input alanına yazı yazdığında veya başka bir etkileşimde bulunduğunda, JavaScript buna tepki verebilir.

Bu bölümde olay kullanımını .onclick, .oninput gibi temel yöntemlerle sade bir şekilde göreceğiz.

📌 .onclick – Tıklama Olayı

Bir buton tıklandığında bir işlem yapmak için .onclick özelliğini kullanabiliriz.

Bu örnekte:

  • document.querySelector('#buton'): buton öğesini seçer.
  • .onclick: bu öğeye tıklanınca çalışacak kodu tanımlar.

📌 .oninput – Yazı Girişi Olayı

Kullanıcı bir input alanına yazı yazarken anlık olarak değerini alabiliriz.

Burada kullanıcı her harf yazdığında console.log ile değer güncellenir.

📌 event Objesi Kullanımı

Olay fonksiyonları otomatik olarak bir event objesi alır. Bu obje, olay hakkında bilgiler içerir.

Açıklama:

  • event: JavaScript’in otomatik olarak verdiği olay nesnesidir.
  • event.target: olayın gerçekleştiği öğeyi gösterir.
  • event.target.value: özellikle input alanlarında, girilen değeri verir.

🧪 Küçük Bir Uygulama

Butona tıklandığında input alanındaki değer konsola yazdırılır.

✅ Özet

ÖzellikAçıklama
.onclickÖğeye tıklanınca çalışacak kodu tanımlar
.oninputInput’a yazıldıkça çalışır
event.targetOlayın gerçekleştiği öğeyi verir
event.target.valueInput gibi öğelerde girilen değeri verir

📁 Olay Türleri (Gruplar Halinde)

Fare Olayları (Mouse Events)

  • click
  • dblclick
  • mousedown
  • mouseup
  • mousemove
  • mouseenter
  • mouseleave

⌨️ Klavye Olayları (Keyboard Events)

  • keydown
  • keyup
  • keypress (artık çok tercih edilmez)

🖊️ Form Olayları

  • input
  • change
  • submit
  • focus
  • blur

📄 Belge ve Yükleme Olayları

  • load
  • DOMContentLoaded
  • unload
  • resize
  • scroll

📱 Dokunmatik Olaylar (Mobil)

  • touchstart
  • touchmove
  • touchend

💻 Pencere ve Tarayıcı Olayları

  • resize
  • hashchange
  • popstate
  • beforeunload

Bunların dışında çok daha fazla olay için buraya tıklayın.


🧰 Nesne İnceleme ve Debug

Daha önce console.log() ve console.dir() komutlarına kısa kısa değindik. Bu bölümde ise JavaScript’te hata ayıklama (debug) ve nesne inceleme konularına biraz daha detaylı şekilde odaklanacağız.

🖨️ console.log() – Değeri Yazdırma

console.log(), JavaScript’te en çok kullanılan fonksiyonlardan biridir. Bir değişkenin, ifadenin veya nesnenin değerini konsola yazdırmak için kullanılır.

Bu sayede kodun nasıl çalıştığını takip edebilir, değerlerin doğru olup olmadığını kontrol edebiliriz.

HTML öğelerini yazdırırken genelde şöyle görünür:

Konsolda öğe <div class="box">...</div> şeklinde görünür.

🧩 console.dir() – HTML Öğelerini Nesne Gibi İncelemek

console.dir() komutu, özellikle HTML DOM öğeleri üzerinde kullanıldığında çok daha detaylı bilgi verir. HTML öğesinin tüm özellikleri (properties) ve metotları (functions) bir nesne yapısında gösterilir.

Bu komut, kutu öğesinin iç yapısını, neler yapabileceğimizi, hangi özellikleri olduğunu görmek için kullanılır.

🆚 Farkı Nedir?

KomutNe Yapar?
console.log()Öğeyi olduğu gibi yazdırır (HTML olarak)
console.dir()Öğeyi nesne gibi gösterir, detaylı yapısını sunar

🔍 Neden Önemli?

JavaScript’te çalışırken sıkça hatalarla veya beklenmeyen durumlarla karşılaşabiliriz. Bu durumlarda konsola veri yazdırarak:

  • Kodun çalışıp çalışmadığını,
  • Değişkenlerin değerini,
  • HTML öğelerinin seçilip seçilmediğini,
  • Bir nesnenin hangi özelliklere sahip olduğunu

görmemiz çok kolaylaşır.


🎯 Örnek: Liste İçindeki Öğeleri İnceleme

🧠 İpucu:

Tarayıcı konsolunda console.log() ile yazdırılan öğelere tıklayarak da iç yapısını görebilirsiniz. Ancak console.dir() kullanmak, özellikle DOM öğeleri ile çalışırken daha anlaşılır bir yapı sunar.


✅ Özet

KomutKullanım Amacı
console.log()Değeri veya öğeyi olduğu gibi gösterir
console.dir()Nesne veya DOM öğesinin yapısını gösterir
Kullanım AlanıDeğer kontrolü, debug, öğe inceleme

🔀 Koşullu Yapılar (if / else)

JavaScript’te bir durumun doğru (true) veya yanlış (false) olmasına göre farklı işlemler yapmak için if / else yapısı kullanılır.

📌 Yapısı

🎯 Uygulamalı Örnek

Kullanıcı bir input alanını boş bırakırsa, uyarı verelim. Aksi halde yazdığı metni konsola yazdıralım.

📝 Açıklama:

  • input.value: input alanındaki değeri alır.
  • if (deger === ""): input boşsa alert() ile uyarı verir.
  • else: input doluysa değeri konsola yazar.

✅ Özet

YapıAçıklama
ifKoşul doğruysa çalışır
elseKoşul yanlışsa çalışır
=== ""Değerin boş olup olmadığını kontrol eder

🔁 Döngü Yapıları (for, forEach)

JavaScript’te birden fazla öğeyle çalışırken döngüler çok kullanılır. Özellikle querySelectorAll() gibi çoklu öğe seçimlerinde her öğe üzerinde ayrı ayrı işlem yapmak için döngüler devreye girer.

📌 1. for Döngüsü

En klasik döngü yapısıdır. Kaç kez döneceğini manuel olarak ayarlarsınız.

📌 2. forEach() Metodu

Bir liste (dizi gibi) üzerinde otomatik olarak döner. NodeList gibi yapılarla kullanılabilir — querySelectorAll() bu türdedir.

🎯 Uygulamalı Örnek

Birden fazla .kutu sınıfına sahip div öğesi düşünelim. Her birini konsola yazdıralım.

📝 Açıklamalar:

for döngüsü

  • i sayacıyla çalışır.
  • Elemanlara sırayla erişir.

forEach yöntemi

  • Daha sade yazılır.
  • kutular bir liste gibi işlem görür.

⛳ Ne Zaman Hangisi?

YapıNe zaman kullanılır?
forDaha fazla kontrol gerektiğinde (index vs.)
forEachListe içinde sırayla işlem yaparken, daha okunaklıdır

🧾 JSON Yapısına Giriş

📌 JSON Nedir?

JSON (JavaScript Object Notation), verileri saklamak ve taşımak için kullanılan hafif ve okunabilir bir veri formatıdır.

JavaScript’teki object yapısına çok benzer, ama aslında dil bağımsız bir metin formatıdır. Birçok API, verileri JSON formatında gönderir.

📋 Örnek JSON Verisi

Bu veri bir kullanıcıyı tanımlar: adı “Ahmet”, yaşı 25, öğrenci mi: evet.

🔄 JSON.parse()

Bir JSON metnini JavaScript nesnesine (object’e) çevirir.

❗ JSON verisi çift tırnak (” “) ile yazılır. Tek tırnak (‘ ‘) geçersizdir.

🔄 JSON.stringify()

Bir JavaScript nesnesini JSON metnine çevirir.

📎 Nerede Kullanılır?

  • API’den gelen veriler genelde JSON olur
  • Tarayıcıda localStorage gibi yerlerde veri saklamak için
  • Verileri sunucuya göndermeden önce metne çevirmek için

✅ Özet

YöntemAçıklama
JSON.parse()JSON metnini nesneye çevirir
JSON.stringify()Nesneyi JSON metnine çevirir

🔌 CDN ve GitHub Üzerinden Eklenti Kullanımı

JavaScript projelerinde bazen her şeyi sıfırdan yazmak yerine, başkalarının yazdığı hazır eklentileri (kütüphaneleri) kullanmak işimizi kolaylaştırır. Bu eklentilere kolayca ulaşmak için iki yaygın yöntem vardır:

📡 1. CDN (Content Delivery Network) Üzerinden

CDN, bir dosyanın başka bir sunucudan yüklenmesini sağlar. Tarayıcı internet üzerinden bu dosyayı indirir.

✅ Kullanımı:

CDN bağlantısı <script> etiketiyle HTML dosyasına eklenir.

🔧 Örnek:

Bu örnekte axios adındaki popüler bir kütüphane sayfaya dahil edilir. Artık JavaScript kodumuzda doğrudan kullanılabilir.

📁 2. GitHub Üzerinden Dosya İndirip Kullanmak

Bir eklentiyi GitHub üzerinden indirip, kendi projemize dahil edebiliriz. Böylece internet bağlantısı olmadan da çalışabilir.

✅ Adımlar:

  1. GitHub sayfasına girip .js dosyasını indir
  2. Projene bu dosyayı ekle (örneğin: libs/eklenti.js)
  3. HTML dosyana <script> etiketiyle dahil et:

❗ Nelere Dikkat Etmeli?

YöntemAvantajıDezavantajı
CDNHızlı, uğraşmadan çalışırİnternet gerekebilir
İndirmeİnternetsiz çalışabilirDosya güncelliği takip edilmeli

✅ Örnek: Basit Sayfa + CDN


💡 Lightbox2 Eklentisi ile Görsel Galeri Oluşturma

Lightbox2, birden fazla resmi şık bir şekilde büyüterek göstermek için kullanılan basit ve kullanışlı bir eklentidir. Resim galerileri gibi projelerde çok sık tercih edilir.

🔧 1. Eklentiyi Dahil Etmek (CDN Yöntemi)

Lightbox2’yi kullanabilmek için gerekli olan CSS ve JavaScript dosyalarını sayfamıza eklememiz gerekiyor.

Bu dosyaları <head> veya <body> içinde uygun şekilde yerleştirebilirsin.

🖼️ 2. HTML Yapısını Hazırlamak

Lightbox, a etiketi içindeki img öğeleriyle çalışır. a etiketine data-lightbox özelliği eklenmelidir.

Aynı data-lightbox değerine sahip olanlar aynı galeri grubuna ait olur.

🔄 3. Tam Örnek Sayfa

✅ Sonuç

  • Kullanıcı küçük resme tıklayınca büyük hali açılır.
  • Sağ/sol oklarla diğer görsellere geçiş yapılabilir.
  • Ekstra JavaScript yazmadan sade kullanıma sahiptir.

🎛️ Bootstrap Eklentileri ile JavaScript Kullanımı

Bootstrap, sadece stillendirme (butonlar, renkler) değil, aynı zamanda bazı etkileşimli özellikleri de sağlar. Bunları JavaScript ile kontrol edebiliriz.

⚙️ Gerekli Dosyalar

İlk olarak Bootstrap’i sayfamıza eklemeliyiz.

🧪 Örnek 1: Butona Tıklayınca Bootstrap Alert Mesajı Gösterme

🎯 Amaç:

Butona tıklanınca ekranda bir Bootstrap alert mesajı gösterilsin.

✅ Açıklama:

  • d-none: Bootstrap sınıfı, öğeyi gizler.
  • classList.remove("d-none"): öğeyi görünür yapar.
  • Basit ama etkili!

🧪 Örnek 2: Bootstrap Modal Penceresini JavaScript ile Açma

🎯 Amaç:

Butona tıklanınca Bootstrap modal penceresi JavaScript ile açılsın.

🔍 Öğrenciler İçin Basit Özet

ÖzellikAnlamı
d-noneBootstrap ile gizlemek için kullanılır
alertRenkli bilgi kutuları
modalAçılır pencere (pop-up)
new bootstrap.Modal(...)JavaScript ile modal oluşturma
.show()Modalı ekranda açar

📝 Form İşlemleri: Bootstrap ve JavaScript ile Kullanıcı Girdisi Alma

Bu bölümde bir form üzerinden kullanıcıdan veri alıp, bu veriyi JavaScript ile işleyeceğiz. Form şık ve düzenli olacak çünkü Bootstrap kullanacağız. Girdi kontrolü gibi işlemleri de JavaScript ile yapacağız.

🎯 Amaç:

  • Bootstrap ile sade bir form tasarımı yapmak
  • JavaScript ile veriyi kontrol etmek
  • Kullanıcıya uyarı veya başarı mesajı göstermek

🧪 Örnek: Ad Soyad Formu + Girdi Kontrolü

🧠 Açıklama

  • form.onsubmit = function(e) { ... } → form gönderildiğinde çalışacak kod.
  • e.preventDefault() → sayfanın yenilenmesini engeller.
  • trim() → girilen verinin başındaki ve sonundaki boşlukları siler.
  • alert alert-success veya alert-danger → Bootstrap mesaj stilleri.

✅ Sonuç

  • Kullanıcı formu boş bırakırsa uyarı alır.
  • Doluysa bilgisi alınır ve form sıfırlanır.
  • Sade, anlaşılır ve kullanışlı bir yapı!

🎯 Sonuç: JavaScript ile Temelleri Attık

Bu içerik boyunca JavaScript’in temel yapı taşlarını sade, örnekli ve aşamalı şekilde işledik. Öğrencilerin, artık basit bir etkileşimli sayfa oluşturabilecek seviyeye gelmeleri hedeflendi.

Öğrenilen konular:

  • JavaScript’in nasıl kullanıldığı
  • Değişkenler, fonksiyonlar ve veri türleri
  • HTML ile etkileşim: olaylar, DOM seçiciler
  • Basit kontrol yapıları (if, for, foreach)
  • Dış kütüphane kullanımı (Lightbox2, Bootstrap)
  • Form verisi ile çalışma

Bu temel bilgiler, ileride çok daha büyük projelere sağlam bir zemin oluşturur.

🚀 Bundan Sonra Neler Çalışılabilir?

Aşağıda, öğrencilerin bireysel olarak geliştirmesi için bazı başlıklar ve açıklamalar yer alıyor:


📌 1. jQuery ile JavaScript’in Basitleştirilmiş Hali

jQuery, JavaScript işlemlerini daha kısa ve kolay yazmanızı sağlar. DOM işlemleri, animasyonlar ve AJAX gibi işlemleri çok daha az kodla yapabilirsiniz.

Başlangıç Önerisi:

  • Sayfa yüklendiğinde mesaj göster
  • Butona tıklayınca bir öğeyi gizle/göster

📌 2. Firebase ile Veritabanına Veri Kaydetme

Gerçek projelerde kullanıcı verilerini saklamak gerekir. Firebase, Google’ın sunduğu ücretsiz bir veritabanı servisidir. Formdan alınan verileri kayıt edebilir, gerçek zamanlı olarak görüntüleyebilirsiniz.

Başlangıç Önerisi:

  • Firebase’e bir formdan isim ve mesaj gönder
  • Gönderilen mesajları ekranda listele

📌 3. LocalStorage ile Tarayıcıda Veri Saklama

Küçük uygulamalarda verileri veritabanına göndermeden, tarayıcıda geçici olarak saklamak mümkün. Özellikle form verileri ya da ayarlar için çok kullanışlıdır.

Başlangıç Önerisi:

  • Kullanıcının yazdığı ismi localStorage’a kaydet
  • Sayfa yenilense bile isim ekranda kalsın

📌 4. Bootstrap Bileşenlerini Gelişmiş Kullanma

Modal, tooltip, dropdown gibi Bootstrap öğelerini JavaScript ile daha etkileşimli hale getirebilirsiniz. Özellikle form validasyonları veya kullanıcıya rehberlik sağlayan içerikler için işe yarar.

Başlangıç Önerisi:

  • Modal penceresinden veri alma
  • Tooltip ile açıklamalar gösterme

📌 5. API Kullanımı (Veri Alma – Fetch)

Başka servislerden (hava durumu, haberler vb.) veri alarak dinamik sayfalar yapılabilir. Fetch API ile JSON veriler alınabilir.

Başlangıç Önerisi:

  • Hava durumu API’sinden şehir bilgisine göre veri çekme
  • Gelen veriyi ekranda listeleme

📌 6. Kendi Küçük Projeni Yap

  • To-do list (yapılacaklar listesi)
  • Not defteri uygulaması
  • Basit galeri sayfası
  • Mini anket uygulaması

Bu projeler hem özgüveni artırır hem de öğrenilenleri pekiştirir.


🎓 Bonus: Öğrenme Kaynakları

📚 Genel JavaScript Öğrenimi

  • JavaScript.info
    JavaScript konularını sıfırdan, modern yöntemlerle anlatan çok kapsamlı bir kaynak. İngilizce ama sade bir dille yazılmış.
  • MDN Web Docs – JavaScript
    Mozilla tarafından sunulan resmi JavaScript dökümantasyonu. Teknik bilgileri doğru ve güncel tutmak isteyenler için birebir.
  • W3Schools – JavaScript
    Yeni başlayanlar için sade anlatım, interaktif örneklerle ilerlemek isteyenler için oldukça kullanışlı.

🎥 YouTube – Türkçe Video Eğitimler

  • Kodluyoruz YouTube Kanalı
    Temelden başlayarak front-end konularını anlatan sade ve anlaşılır bir kanal.
  • Sadık Turan
    JavaScript ve React gibi konuları bol örnekli ve detaylı anlatan bir başka kaliteli Türkçe kaynak.
  • Bilgisayar Kavramları
    Teknik detaylara ve yazılım mantığına daha derinlemesine girmek isteyenler için harika bir kanal.

🧪 Uygulama Yapabileceğiniz Platformlar

  • JSFiddle
    HTML, CSS ve JavaScript kodlarını birlikte yazarak sonuçları anında görebileceğiniz bir çevrimiçi ortam.
  • CodePen
    Web tabanlı projelerinizi deneyip paylaşabileceğiniz interaktif bir kod platformu.
  • Replit
    JavaScript de dahil olmak üzere pek çok dilde çevrimiçi kodlama yapabileceğiniz bir ortam. Proje kaydetme özelliğiyle öne çıkıyor.

📘 Kitap Tavsiyesi (İsteğe Bağlı)

  • “Eloquent JavaScript” (Türkçe ve İngilizce)
    JavaScript’i derinlemesine öğrenmek isteyenler için önerilen en iyi kitaplardan biri. Hem teorik bilgileri hem de pratik uygulamaları birleştiriyor.
    (Kitabın hem ücretsiz çevrimiçi versiyonu hem de basılı versiyonları mevcuttur.)