JavaScript’te Sayı Özellikleri

JavaScript Rehberi

Number Properties (Bildiklerini Unutturacak Rehber 🚀)

“JavaScript’te sayı basittir” diyen birini duyarsan, muhtemelen henüz NaN ile yalnız kalmamıştır…

JavaScript’te sayılar tek bir tipe (number) ait gibi görünür.
Ama bu tek tipin arkasında limitler, tuzaklar, güvenli alanlar ve matematiksel dramalar vardır.

İşte bu yazı, o dramaları komediye çeviren yazıdır 🎭


Önce Şunu Netleştirelim 🎯

let age = 25;

Bu 25 bir primitive number’dır.
Ama Number, JavaScript’in sayılar için tuttuğu anayasa kitabıdır 📘

Ve biz şimdi o kitabın en kritik maddelerine giriyoruz.


1️⃣ Number.MAX_VALUE

“JavaScript’in kaldırabileceği en büyük sayı”

console.log(Number.MAX_VALUE);
// 1.7976931348623157e+308

Bu sayı şunu temsil eder:

“Ben buraya kadar çalışırım, sonrası bende yok.”

Peki aşarsak ne olur?

let result = Number.MAX_VALUE * 2;
console.log(result);
// Infinity

💥 Boom! Sayı sonsuzluğa uçtu.

Neden Önemli?

  • Büyük finans hesapları
  • Bilimsel hesaplamalar
  • API’den gelen dev sayılar

Pratik İpucu 💡

if (value > Number.MAX_VALUE) {
  console.log("Bu sayı JavaScript için fazla büyük!");
}


2️⃣ Number.MIN_VALUE

“Sıfıra en yakın ama sıfır olmayan pozitif sayı”

console.log(Number.MIN_VALUE);
// 5e-324

⚠️ Çok yapılan hata:

“Bu en küçük negatif sayı”

❌ Hayır
✅ Bu 0’a en yakın pozitif sayıdır.

Örnek

let tiny = Number.MIN_VALUE / 2;
console.log(tiny);
// 0

JavaScript diyor ki:

“Bunu artık sıfır sayıyorum, kusura bakma.”

Nerede İşe Yarar?

  • Hassas ölçümler
  • Bilimsel hesaplamalar
  • Float sınırlarını test etmek

3️⃣ Infinity, POSITIVE_INFINITY, NEGATIVE_INFINITY

“Sayıların uzaya çıkması”

console.log(Number.POSITIVE_INFINITY); // Infinity
console.log(Number.NEGATIVE_INFINITY); // -Infinity

Nasıl oluşur?

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

JavaScript burada hata vermez, sadece:

“Tamam, bu artık sonsuz.”

Kontrol Etme Yolu

if (value === Infinity) {
  console.log("Sonsuzluğa ulaştık 🚀");
}

Pratik Kullanım

  • Matematiksel limitler
  • “Bu hesap kontrolden çıktı mı?” sorusu
  • Grafik ve animasyon hesapları

4️⃣ Number.NaN

“Bu sayı değil ama JavaScript pes etmiyor”

let result = 10 / "muz";
console.log(result);
// NaN

NaN = Not a Number

Ama işin eğlenceli kısmı şimdi başlıyor 👇

En Büyük Tuzak 😈

NaN === NaN // false

Evet…
NaN, kendisiyle bile eşit değil.

DOĞRU KONTROL YÖNTEMİ ✅

Number.isNaN(result); // true

Yanlış Yöntem ❌

isNaN("123"); // false ama kafa karıştırıcı

Pratik İpucu 💡

Number.isNaN() kullan, hayatın kolaylaşsın.


5️⃣ Number.EPSILON

“Ondalıklı sayıların arabulucusu”

Şu sahneye aşinayız:

0.1 + 0.2 === 0.3
// false 😤

Sebep:

JavaScript ondalıkları ikili sistemle saklar.

İşte çözüm 👇

function isEqual(a, b) {
  return Math.abs(a - b) < Number.EPSILON;
}

isEqual(0.1 + 0.2, 0.3); // true 🎉

Ne Yaptık?

  • İki sayı arasındaki farkı aldık
  • O fark EPSILON’dan küçükse “eşit” dedik

Nerede Hayati?

  • Para hesapları
  • Ölçüm sistemleri
  • Grafik animasyonları

6️⃣ Number.MAX_SAFE_INTEGER

“JavaScript’in güvenle sayabildiği son tam sayı”

console.log(Number.MAX_SAFE_INTEGER);
// 9007199254740991

Tehlike Bölgesi 🚨

let x = 9007199254740992;
console.log(x + 1 === x);
// true 😱

JavaScript burada saymayı şaşırıyor.

Neden?

Çünkü bu noktadan sonra precision kayboluyor.

Çözüm 🛠️

let big = 9007199254740992n;
console.log(big + 1n);
// 9007199254740993n

👉 BigInt kurtarıcı olarak geliyor.


7️⃣ Number.MIN_SAFE_INTEGER

“Negatif taraftaki güvenli sınır”

console.log(Number.MIN_SAFE_INTEGER);
// -9007199254740991

Aynı kurallar burada da geçerli.

Pratik Kontrol

function isSafe(num) {
  return Number.isSafeInteger(num);
}

isSafe(123); // true
isSafe(9007199254740992); // false


Gerçek Hayattan Mini Senaryo 🎬

let price = 0.1 + 0.2;

if (Math.abs(price - 0.3) < Number.EPSILON) {
  console.log("Fiyat doğru 💸");
}

👉 Finans uygulaması yazıyorsan bu kod hayat kurtarır.


Kaydetmelik Süper Özet 📌

  • Büyük sayılar = MAX_VALUE
  • Güvenli tam sayılar = MAX_SAFE_INTEGER
  • Ondalıklı savaşlar = EPSILON
  • Saçma sonuçlar = NaN
  • Sonsuzluk = Infinity

Son Söz ☕

JavaScript’te sayı kullanmak kolaydır.
Doğru sayı kullanmak ise bilgi ister.

Bu yazıyı okuduktan sonra:

  • “Bu neden böyle oldu?” demeyeceksin
  • NaN seni korkutamayacak
  • Ondalıklı sayılarla barış imzalayacaksın ✌️

Bir yanıt yazın

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