Anasayfa

JavaScript Seçiciler ve Operatörler

Bu yazıda, JavaScript DOM seçicileri (getElementById, querySelector), operatörler ve ileri düzey değişken kullanımı anlatılmaktadır.

1. DOM (Document Object Model) Nedir?

DOM, bir web sayfasının HTML yapısının JavaScript tarafından erişilebilir ve değiştirilebilir bir nesne modeli olarak temsil edilmesidir. JavaScript ile DOM'u manipüle ederek sayfadaki elemanları değiştirebiliriz.

💡 Basit Benzetme: DOM'u, bir binanın mimari planı gibi düşünün. JavaScript ise bu plana bakarak binadaki kapıları, pencereleri değiştirebilen bir ustadır.

2. DOM Seçicileri (Selectors)

HTML elemanlarını seçmek için kullanılan yöntemlerdir. İki ana kategori vardır:

2.1. Geleneksel Seçiciler

Metod Açıklama Örnek Dönüş Değeri
getElementById() ID'ye göre tek eleman seçer document.getElementById("baslik") Tek eleman (Element)
getElementsByClassName() Class'a göre elemanları seçer document.getElementsByClassName("menu") HTMLCollection ( dizi benzerii )
getElementsByTagName() Etiket adına göre elemanları seçer document.getElementsByTagName("div") HTMLCollection ( dizi benzeri )

2.2. Modern Seçiciler (querySelector)

Metod Açıklama Örnek Dönüş Değeri
querySelector() CSS seçiciye göre İLK elemanı seçer document.querySelector("#baslik") Tek eleman (Element)
querySelectorAll() CSS seçiciye göre TÜM elemanları seçer document.querySelectorAll(".buton") NodeList (dizi benzeri)
// HTML yapımız:
<h1 id="baslik">Merhaba</h1>
<div class="kutu">Kutu 1</div>
<div class="kutu">Kutu 2</div>

// Geleneksel seçiciler
let baslik = document.getElementById("baslik");
let kutular = document.getElementsByClassName("kutu");
let divler = document.getElementsByTagName("div");

// Modern seçiciler (önerilen)
let baslik2 = document.querySelector("#baslik");
let ilkKutu = document.querySelector(".kutu");       // İlk .kutu elemanı
let tumKutular = document.querySelectorAll(".kutu"); // Tüm .kutu elemanları

// CSS seçici kullanımı
let linkler = document.querySelectorAll("a.aktif"); // class="aktif" olan linkler
let input = document.querySelector("input[type='email']"); // type="email" olan input

3. JavaScript Operatörleri

Operatörler, değişkenler ve değerler üzerinde işlem yapmamızı sağlayan sembollerdir.

3.1. Aritmetik Operatörler

Operatör Açıklama Örnek Sonuç
+ Toplama 10 + 5 15
- Çıkarma 10 - 5 5
* Çarpma 10 * 5 50
/ Bölme 10 / 5 2
% Modül (kalan) 10 % 3 1
** Üs alma 2 ** 3 8

// Aritmetik operatör örnekleri
let a = 15;
let b = 4;

console.log(a + b);   // 19
console.log(a - b);   // 11
console.log(a * b);   // 60
console.log(a / b);   // 3.75
console.log(a % b);   // 3 (15 ÷ 4 = 3 kalan 3)
console.log(a ** 2);  // 225 (15²)

// String birleştirme (+ operatörü)
let ad = "Ahmet";
let soyad = "Yılmaz";
let tamAd = ad + " " + soyad; // "Ahmet Yılmaz"  

3.2. Atama Operatörleri


let x = 10;

x += 5;   // x = x + 5  → 15
x -= 3;   // x = x - 3  → 12
x *= 2;   // x = x * 2  → 24
x /= 4;   // x = x / 4  → 6
x %= 5;   // x = x % 5  → 1
x **= 3;  // x = x ** 3 → 1

// Artırma ve azaltma
let y = 5;
y++;      // y = 6 (sonradan artırma)
++y;      // y = 7 (önceden artırma)
y--;      // y = 6 (sonradan azaltma)
--y;      // y = 5 (önceden azaltma)

3.3. Karşılaştırma Operatörleri

Operatör Açıklama Örnek Sonuç
== Eşit (değer) 5 == "5" true
=== Tam eşit (değer ve tip) 5 === "5" false
!= Eşit değil (değer) 5 != "6" true
!== Tam eşit değil 5 !== "5" true
> Büyüktür 10 > 5 true
< Küçüktür 10 < 5 false
>= Büyük eşit 10 >= 10 true
<= Küçük eşit 10 <= 5 false
⚠️ Önemli: Modern JavaScript'te her zaman === ve !== kullanın. == ve != tip dönüşümü yapar ve beklenmedik sonuçlara neden olabilir.

3.4. Mantıksal Operatörler

Operatör Açıklama Örnek Sonuç
&& VE (and) true && false false
|| VEYA (or) true || false true
! DEĞİL (not) !true false

4. Pratik Örnek: Form Kontrolü

Şimdi öğrendiklerimizi birleştirip pratik bir örnek yapalım:


  // HTML:
// <input type="text" id="kullaniciAdi" placeholder="Kullanıcı adı">
// <input type="number" id="yas" placeholder="Yaş">
// <button id="kontrolBtn">Kontrol Et</button>
// <p id="sonuc"></p>

// JavaScript:
document.addEventListener("DOMContentLoaded", function() {
    // Elemanları seç
    let kullaniciAdiInput = document.getElementById("kullaniciAdi");
    let yasInput = document.getElementById("yas");
    let kontrolBtn = document.getElementById("kontrolBtn");
    let sonucP = document.getElementById("sonuc");
    
    // Butona tıklanınca
    kontrolBtn.addEventListener("click", function() {
        // Değerleri al
        let kullaniciAdi = kullaniciAdiInput.value;
        let yas = Number(yasInput.value); // String'i number'a çevir
        
        // Kontroller yap (operatör kullanımı)
        let kullaniciAdiUzun = kullaniciAdi.length >= 3;
        let yasGecerli = yas >= 18 && yas <= 120;
        
        // Mantıksal operatörlerle karar ver
        if (kullaniciAdiUzun && yasGecerli) {
            sonucP.textContent = "✔️ Form geçerli!";
            sonucP.style.color = "green";
        } else {
            sonucP.textContent = "❌ Form geçersiz!";
            sonucP.style.color = "red";
            
            // Detaylı hata mesajı
            if (!kullaniciAdiUzun) {
                sonucP.textContent += " Kullanıcı adı en az 3 karakter olmalı.";
            }
            if (!yasGecerli) {
                sonucP.textContent += " Yaş 18-120 arasında olmalı.";
            }
        }
    });
});

Örnek Çalışma Senaryosu:

Giriş: Kullanıcı adı: "Ah", Yaş: 16

İşlem: kullaniciAdiUzun = false (2 < 3), yasGecerli = false (16 < 18)

Sonuç: false && false = false → "❌ Form geçersiz! Kullanıcı adı en az 3 karakter olmalı. Yaş 18-120 arasında olmalı."

5. Özet Tablosu: Hangi Seçici Ne Zaman Kullanılır?

Durum Önerilen Seçici Örnek
Tek bir eleman seçmek (ID ile) querySelector() veya getElementById() document.querySelector("#menu")
Class'a göre tüm elemanlar querySelectorAll() document.querySelectorAll(".urun")
Karmaşık CSS seçici kullanmak querySelector() veya querySelectorAll() document.querySelector("div.panel > button.active")
Belirli türdeki tüm elemanlar querySelectorAll() veya getElementsByTagName() document.querySelectorAll("input[type='checkbox']")

Sonuç

Bu yazıda, JavaScript'in güçlü araçları olan DOM seçicileri ve operatörleri öğrendik. Artık web sayfalarındaki HTML elemanlarını seçebilir, bu elemanlar üzerinde matematiksel ve mantıksal işlemler yapabilirsiniz.

Öğrendiklerimizle basit form kontrolleri, dinamik içerik güncellemeleri ve kullanıcı etkileşimleri oluşturabiliriz.

💪 Pratik Yapma Ödevi:

Kendi HTML sayfanızda şunları deneyin:

  1. Bir buton ve paragraf oluşturun
  2. Butona tıklanınca paragrafın rengini değiştirin
  3. Paragraftaki kelime sayısını hesaplayıp gösterin
  4. Kullanıcının yaşına göre farklı mesaj gösterin