JavaScript Aritmetik İşlemleri

JavaScript Aritmetik İşlemleri

Temel Matematiksel İşlemler (Ama Bu Sefer Gerçekten Temel… ve Eğlenceli)

JavaScript’te aritmetik işlemler:

  • Küçük görünür
  • Basit sanılır
  • Ama yanlış kullanıldığında uygulamanın altını oyar

Sepet toplamı, skor hesabı, sayaç, animasyon süresi, oyun mekaniği, finans hesapları…
Hepsinin mutfağında aritmetik işlemler kaynar 🍳

Hadi mutfağa girelim.


➕ Toplama İşlemi (+)

(JavaScript’in En İki Yüzlü Operatörü)

Normal bir dünyada + toplar.
JavaScript dünyasında ise önce sorar:

“Sen sayı mısın, yazı mısın?”

🎯 Temel Kullanım

let a = 10;
let b = 5;

let sonuc = a + b;
console.log(sonuc); // 15

Burada her şey net:

  • a → sayı
  • b → sayı
  • Sonuç → toplama

😈 Tehlikeli Bölge: String + Number

console.log(10 + "5"); // "105"

JavaScript şunu yapar:

  • “Hmm biri string”
  • “O zaman herkesi string yapayım”
  • “Birleştireyim”

📌 Bu toplama değil, string birleştirme.

✅ Doğru Yaklaşım

console.log(10 + Number("5")); // 15

Burada olanlar:

  • "5"Number("5") ile sayıya çevrildi
  • Gerçek matematik yapıldı

🧠 Pratik İpucu

Kullanıcıdan gelen veriler %99 stringtir:

let yas = prompt("Yaşını gir");
console.log(yas + 1); // "201" (20 girdiyse)

Doğrusu:

let yas = Number(prompt("Yaşını gir"));
console.log(yas + 1); // 21


➖ Çıkarma İşlemi (-)

(Daha Olgun, Daha Mantıklı)

Çıkarma operatörü JavaScript’te daha az drama yapar.

console.log(10 - 3);   // 7
console.log(10 - "3"); // 7

JavaScript burada der ki:

“Bu belli ki matematik, uğraşmayayım.”

❌ Ama Her Şeyin Bir Sınırı Var

console.log(10 - "elma"); // NaN

🤔 NaN Nedir?

Not a Number

Yani:

“Bunu hesaplayamam ama uygulamayı da çökertmem.”

🧪 NaN Kontrolü

let sonuc = 10 - "elma";

if (isNaN(sonuc)) {
  console.log("Bu bir sayı değil!");
}


✖️ Çarpma İşlemi (*)

(Sessiz, Güvenilir, Görev Adamı)

console.log(4 * 5);    // 20
console.log(4 * "5"); // 20

JavaScript:

“String mi? Sorun değil, ben hallederim.”

Ama:

console.log(4 * "armut"); // NaN

Burada da:

“Ben matematikçiyim, manav değil.”

🎮 Oyun Örneği

let hasar = 10;
let carpani = 1.5;

let toplamHasar = hasar * carpani;
console.log(toplamHasar); // 15


➗ Bölme İşlemi (/)

(Sürprizlerle Dolu)

console.log(10 / 2); // 5
console.log(10 / 4); // 2.5

Her şey normal… ta ki:

console.log(10 / 3);
// 3.3333333333333335

🤯 Bu Neden Böyle?

JavaScript:

  • Floating point sayılarla çalışır
  • Bazı ondalıklar tam temsil edilemez

⚠️ Bölme ve Sıfır

console.log(10 / 0); // Infinity
console.log(-10 / 0); // -Infinity

JavaScript diyor ki:

“Tanımsız ama hadi sonsuz diyelim.”

🛑 Güvenli Kontrol

if (bolen === 0) {
  console.log("Sıfıra bölünemez!");
}


🔢 Mod Alma (%)

(Gizli Kahraman)

console.log(10 % 3); // 1

Yani:

“10’u 3’e böl, kalanı ver.”

🟢 Tek / Çift Kontrolü

let sayi = 8;

if (sayi % 2 === 0) {
  console.log("Çift");
} else {
  console.log("Tek");
}

🔁 Döngülerde Kullanım

for (let i = 1; i <= 10; i++) {
  if (i % 3 === 0) {
    console.log(i + " → 3'ün katı");
  }
}


➕➕ Artırma & ➖➖ Azaltma

(Sayaçların Can Damarı)

let sayac = 0;

sayac++;
console.log(sayac); // 1

🤨 Post-Increment vs Pre-Increment

let x = 5;
console.log(x++); // 5
console.log(x);   // 6

JavaScript:

“Önce göster, sonra artır.”

let y = 5;
console.log(++y); // 6

Burada:

“Önce artır, sonra göster.”

⏱ Zamanlayıcı Örneği

let saniye = 0;

setInterval(() => {
  saniye++;
  console.log(saniye);
}, 1000);


🧮 İşlem Önceliği

(Parantez = Hayat Kurtarır)

console.log(10 + 5 * 2); // 20

Ama:

console.log((10 + 5) * 2); // 30

📌 Okuyan insan için de parantez kullan
Kodu sen yazıyorsun ama başkası okuyacak 😉


🛒 Gerçek Hayat: Sepet Hesabı

let fiyat = 500;
let indirimYuzde = 15;
let kargo = 40;

let indirim = fiyat * indirimYuzde / 100;
let toplam = fiyat - indirim + kargo;

console.log(toplam); // 465

Burada Ne Oldu?

  • Yüzdelik indirim hesaplandı
  • Fiyattan düşüldü
  • Kargo eklendi

JavaScript:

“E-ticaret motoru hazır.”


🧠 Altın Değerinde İpuçları

Küçük matematik hataları → büyük bug’lar

+ operatörüne asla körü körüne güvenme

Kullanıcıdan gelen her veri stringtir

NaN gördüğünde sebep %90 tiptir

Parantez kullanmak seni akıllı gösterir

Comments

No comments yet. Why don’t you start the discussion?

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir