(Kod konuşur… ama biz onu konuşturmayı öğreniriz.)
Bir sabah bilgisayarını açtın.
Yeni bir .js dosyası oluşturdun.
Cursor yanıp sönüyor.
JavaScript sana eğildi ve fısıldadı:
“Ben her çalıştığımda bir değer üretirim… yeter ki sen doğru şeyi yaz.”
İşte bugün o “değer üreten şeyleri” konuşacağız.
Yani ifadeleri (expressions).
Ama sıradan bir anlatım değil.
Bu sefer gerçekten anlayacağız.
Gerçekten kavrayacağız.
Ve biraz da eğleneceğiz. 😎
📌 İfade (Expression) Nedir? – Olayın Kalbi
En sade tanım:
Bir değer üreten her şey bir ifadedir.
JavaScript’te bir kod parçası çalıştığında sana bir sonuç veriyorsa,
orada bir expression vardır.
Hemen mini test:
2 + 2
Sonuç? → 4
Bu bir ifadedir.
Peki ya bu?
console.log("Merhaba")
Bu da bir ifadedir.
Çünkü console.log() fonksiyonu teknik olarak undefined döndürür.
Yani yine bir değer üretir.
Evet… JavaScript’te neredeyse her şey bir değer üretir.
JavaScript biraz “Ben her durumda bir şey söylerim” karakteridir. 😄
🧮 1. Aritmetik İfadeler – Matematiğin Kodla Flörtü
Bunlar en tanıdık olanlar.
10 + 5
10 - 3
4 * 2
20 / 4
Hepsi çalışır ve bir değer üretir.
Ama şimdi biraz derinleşelim.
🧠 İşlem Önceliği (Operator Precedence)
5 + 3 * 2
Sonuç ne?
Birçok kişi 16 der.
Ama JavaScript matematik kurallarına uyar.
Önce çarpma:
3 * 2 = 6
5 + 6 = 11
Sonuç → 11
Eğer farklı istiyorsan parantez kullan:
(5 + 3) * 2
Sonuç → 16
🎯 İpucu:
Parantez kullanmak sadece matematik için değil, kod okunabilirliği için de önemlidir.
🧮 Karmaşık Örnek
let sonuc = (10 / 2) + (3 * 4) - 1;
console.log(sonuc);
Adım adım:
- 10 / 2 = 5
- 3 * 4 = 12
- 5 + 12 = 17
- 17 – 1 = 16
Sonuç → 16
Kod yazarken zihninde adım adım çözmeyi alışkanlık haline getir.
🔤 2. String İfadeleri – Kelimelerle Oynamak
String bir değerdir.
Dolayısıyla string işlemleri de ifadedir.
"Merhaba" + " Dünya"
Sonuç → "Merhaba Dünya"
🧠 Template Literal Gücü
Modern ve havalı yöntem:
let isim = "Cansu";
let mesaj = `Merhaba ${isim}, JavaScript'e hoş geldin!`;
console.log(mesaj);
Sonuç:
Merhaba Cansu, JavaScript'e hoş geldin!
Burada ne oldu?
${isim}bir ifadedir.- Template literal içinde istediğin ifadeyi çalıştırabilirsin.
Örnek:
let fiyat = 100;
let kdv = 0.18;
let toplam = `Toplam fiyat: ${fiyat + (fiyat * kdv)}`;
console.log(toplam);
Burada ${fiyat + (fiyat * kdv)} komple bir ifadedir.
🎯 İpucu:
Template literal içinde matematik, fonksiyon çağrısı, karşılaştırma… her şeyi yapabilirsin.
🧠 3. Değişken İfadeleri – Kimliğini Bilmek
let yas = 25;
yas
yas yazdığında JavaScript sana 25’i verir.
Çünkü değişken bir değeri temsil eder.
🔄 Değer Güncelleme
let puan = 10;
puan = puan + 5;
console.log(puan);
Adım adım:
- puan = 10
- puan + 5 → 15
- puan artık 15
Kısayol:
puan += 5;
🎯 İpucu:+=, -=, *=, /= gibi operatörler hem daha kısa hem daha okunabilir.
⚖️ 4. Karşılaştırma İfadeleri – JavaScript’in Hakimi
Karşılaştırmalar Boolean değer üretir.
5 > 3
10 === 10
7 !== 2
Sonuçlar:
true
true
true
🧠 === vs == (Tehlikeli Alan)
5 == "5"
Sonuç → true
Neden? Çünkü == tür dönüşümü yapar.
Ama:
5 === "5"
Sonuç → false
Çünkü === hem değeri hem türü kontrol eder.
🎯 Altın Kural:
Her zaman === kullan.== JavaScript’in “Ben biraz tahmin yürütürüm” halidir. 😅
🧩 5. Fonksiyon Çağrıları – Değer Fabrikası
Fonksiyonlar değer üretir.
function topla(a, b) {
return a + b;
}
let sonuc = topla(3, 7);
console.log(sonuc);
Adım adım:
- topla(3, 7)
- 3 + 7
- return 10
- sonuc = 10
Fonksiyon çağrısı → bir ifadedir.
🎲 Gerçek Hayat Örneği
let rastgele = Math.random();
console.log(rastgele);
Bu 0 ile 1 arasında sayı üretir.
let zar = Math.floor(Math.random() * 6) + 1;
console.log(zar);
Bu 1–6 arası sayı üretir.
Burada olan:
Math.random()bir ifadeMath.random() * 6bir ifadeMath.floor(...)bir ifade
JavaScript iç içe ifadeleri sever.
🎯 6. Atama İfadeleri – Sandığından Daha Derin
let x;
x = 10;
Bu bir atama ifadesidir.
Ama bak şuna:
let a, b;
a = b = 5;
Ne oldu?
- b = 5 → 5 döndürür
- a = 5 olur
Sonuç:
a = 5
b = 5
JavaScript sağdan sola atama yapar.
🎯 İpucu:
Bu tarz zincirleme atamaları dikkatli kullan. Okunabilirlik önemlidir.
🧪 7. Mantıksal İfadeler – Kısa Devre Sihri
true && false
Sonuç → false
Ama olay burada bitmiyor.
🧠 Short-Circuit Mantığı
let isim = "Cansu";
let mesaj = isim && "Hoş geldin!";
console.log(mesaj);
Eğer isim truthy ise sonuç "Hoş geldin!" olur.
Eğer:
let isim = "";
let mesaj = isim && "Hoş geldin!";
Sonuç → ""
Çünkü boş string falsy’dir.
🧠 Varsayılan Değer Tekniği
let kullaniciAdi = "";
let gorunenIsim = kullaniciAdi || "Misafir";
console.log(gorunenIsim);
Sonuç → "Misafir"
Bu teknik pratikte çok kullanılır.
🆚 Expression vs Statement – Son Netlik
Expression → değer üretir
Statement → işlem yapar
if (5 > 3) {
console.log("Doğru");
}
if→ statement5 > 3→ expression
Yani statement içinde expression yaşar.
🚀 Büyük Resim – Neden Bu Kadar Önemli?
Çünkü:
- React’te JSX içinde ifadeler kullanırsın
- Fonksiyonel programlamada her şey expression’dır
- Modern JavaScript expression ağırlıklıdır
Kod yazarken şunu sor:
“Bu kod parçası bir değer mi üretiyor?”
Eğer evetse…
Doğru yoldasın.
🎬 Final
Cursor hâlâ yanıp sönüyor.
JavaScript sana bakıyor.
Artık biliyorsun:
- Matematik bir ifade
- String bir ifade
- Fonksiyon çağrısı bir ifade
- Karşılaştırma bir ifade
- Hatta bazı atamalar bile ifade
JavaScript dünyasında hayat basit:
Değer üretiyorsan varsın.
